НЕ ИЗМЕНЯЙТЕ HREF НА #
Установите функцию onclick для возврата false.
Это будет иметь тот же эффект, в то же время позволяя повысить удобство использования.
Вот краткий пример (используя jQuery, но работает с чем угодно):
jQuery('a').click( doStuff );
function doStuff()
{
// ...function body...
return false;
}
Это работает, потому что значение, которое вы возвращаете из функции события onX , определяет, будет ли это событиепродолжает стрелять или останавливается.Верните true
, чтобы разрешить его продолжить, или false
, чтобы остановить его.
С onclick
это означает, что щелчок остановлен (поэтому ссылка не отслеживается) - однако он по-прежнему позволяет людям взаимодействоватьсо ссылкой по среднему и правому щелчку (например, открытие на новой вкладке, добавление в закладки и т. д.)
В другом примере с onkeypress
вы можете вернуть false, чтобы запретить добавление набранного символа вэлемент управления вводом (например, вы можете имитировать элемент управления HTML5 input="numeric"
, имея onkeypress
, который возвращает false для любых нечисловых символов).