Я думаю, що я бачив і javascript :; навколо розвитку Інтернету важко відстежувати прийоми, які доступні там .. але це в основному про доступність (крім javascript: void (0);) і лише невелика виправка не javascript: void (0) але javascript: void (0); що означає нічого не робити настільки, як повертати false; хоча не впевнений, чи javascript: return false; робить те саме ..
Я завжди використовую і пропоную використовувати javascript: void (0); з кількох причин .. на мій скромний погляд, звичайно.
1.) Я використовую його через того самого, кого згадано вище. Href = "#" не підходить, оскільки це може вказувати на перехід вгору, і навіть у такому випадку "#top" буде більш відповідним для цього випадку. Але також це може викликати щось інше у вашому коді, яке використовує # (хеші), тому іншою причиною є уникнення конфліктів з іншим javascript, який може використовувати #. І я схильний шукати це, наприклад, використовуючи плагін, і негайно їх замінювати .. href = '#' на href = 'javascript: void (0);' або href = 'javascript :;'
2.) Якщо я хочу повторно використовувати функцію для групи конкретних тегів Anchor, я можу зателефонувати їй за допомогою селектора за будь-яким атрибутом, не турбуючись про виявлення події клацання та запобігання дії за замовчуванням, і я роблю це, навіть не думаючи про це як перевага розвитку.
3.) У більшості випадків, якщо ви створюєте посилання за допомогою JavaScript: void (0); намагається зробити посилання, якого не слід, оскільки старий href = rel = nofollow, щоб уникнути індексації посилань, які є діями. Я не настільки впевнений у цьому лише тому, що чув, що сканери та роботи тепер можуть читати навіть Flash, тому не здивуюся, якщо вони зможуть прочитати посилання на javascript
4.) Посилаючись на 2.) ви можете націлитись на клас, як і забути про запобігання дії за замовчуванням події кліку, використовуючи href = "javascript: void (0);" а потім націлювання на клас безпосередньо з селектора за допомогою функції jQuery.
jQuery(function($)
{
$('a[rel="-your-rel-id"]') ... off('click').on('click',function()
//from the class
$('a.-the-class') ... off('click').on('click',function()
$('a#-the-id').off('click').on('click',function()
{
--do something with this link
});
});
Мені швидше комфортніше користуватися класом, як це завжди можна зробити ...
$ (a # -your-id) .hasClass (-yourclass-)
або будь-яку іншу цікаву комбінацію, що впливає на багато посилань .. тому я справді не пропоную використовувати A як селектор виключно ..
Зазвичай я бачу, що тут пропонується:
jQuery(function($)
{
$('a[rel="-your-rel-id"]').on('click',function(event)
//do something
//prevent the click as is passed to the function as an event
event.preventDefault();
});
});
onclickна сьогоднішній день, є найпростішим і найчистішим способом приєднання обробника події до елемента.