Подтвердить что ты не робот

Каков наилучший способ выполнения функции, когда пользователь нажимает на ссылку?

Из моего опыта я знаю три разных способа выполнения функции Javascript, когда пользователь нажимает на ссылку

  • Используйте атрибут onclick в ссылке

    <a href="#" onclick="myfunction();return false;">click me</a>
    
  • Используйте href по ссылке

    <a href="javascript:myfunction();">click me</a>
    
  • Не трогайте ссылку, делайте все в js

    <a href="#">click me</a>
    

    (в Javascript мы остановим событие по умолчанию и вызовите функцию)

Какой из них лучше? Каковы преимущества и недостатки?

EDIT удалил "javascript:" на onclick

4b9b3361

Ответ 2

Всегда полезно иметь ссылку в атрибуте href, чтобы поддерживать пользователей, которые отключили JavaScript в своих браузерах.

<a href="http://www.mywebsite.com/javascriptdisabled.html" onclick="myfunction(); return false;">click me</a>

Ответ 3

Ничего из перечисленного. Используйте событие click (назначенное либо как атрибут, либо через script, если вы предпочитаете) и имеете реальный URL-адрес в качестве резервной копии:

<a href="realpage.html" onclick="myfunction(); return false;">click me</a>

или HTML:

<a href="realpage.html" id="myLink">click me</a>

Script:

document.getElementById("myLink").onclick = function() {
    myfunction();
    return false;
};

Кроме того, не префикс кода в атрибутах обработчика событий с помощью javascript:. Он неверен и только не вызывает ошибку по совпадению (то есть в JavaScript, javascript: создает метку под названием javascript).

Ответ 4

Или, наоборот, используйте jQuery

$(function() {
    $('[id$=myLinkID]').click(function(e) {
        myFunction();
    });
});