Я создаю динамический веб-сайт. Моя проблема в том, когда я нажимаю на следующий тег:
<a class="s-inte" href="set_interesantes.php?n=Frank Melo&u=f6e79cfe9c0ecc4c08dac4c860c4802b&back=http://localhost:8085/Something/success/profile.php?search_user=f6e79cfe9c0ecc4c08dac4c860c4802b&p=12&sa=f6e79cfe9c0ecc4c08dac4c860c4802b&i=2345123&dl=&iv=1">Interesante</a>
Страница обновляется, Как мне избежать обновления этой страницы?
Что вы хотите сделать, это обновить счетчик процентов без обновления страницы? Вы должны сделать это с использованием методов AJAX, это то, для чего был изобретен AJAX.
Рассмотрим следующий код: это просто (требуется библиотека jQuery):
<a href="#" class="counter">Interesante</a> <script> $(function(){ $("a.counter").click(function() { $.get("set_interesantes.php?n=Frank Melo&u=f6e79cfe9c0ecc4c08dac4c860c4802b&back=http://localhost:8085/Something/success/profile.php?search_user=f6e79cfe9c0ecc4c08dac4c860c4802b&p=12&sa=f6e79cfe9c0ecc4c08dac4c860c4802b&i=2345123&dl=&iv=1" ); .... // you can do some animation here, like a "Liked!" popup or something return false; // prevent default browser refresh on "#" link }); }); </script>
вам необходимо предотвратить действие по умолчанию в событии клика.
Вы можете сделать простой встроенный обработчик, который вернет false
<a class="s-inte" onclick="return false" href="set_interesantes.php?n=Frank Melo&u=f6e79cfe9c0ecc4c08dac4c860c4802b&back=http://localhost:8085/Something/success/profile.php?search_user=f6e79cfe9c0ecc4c08dac4c860c4802b&p=12&sa=f6e79cfe9c0ecc4c08dac4c860c4802b&i=2345123&dl=&iv=1">Interesante</a>
или написать обработчик jQuery, который будет делать то же самое
$('.s-inte').click(function(e){ e.preventDefault() })
Если вы динамически загружаете контент с помощью ajax. Вероятно, вы должны называть его таким образом. Таким образом, он будет работать для каждого якоря с классом .s-inte
, независимо от того, добавляется он динамически или статически.
$(document).on('click', '.s-inte',function(e){ e.preventDefault(); // Do more stuff every anchor click here... });