В чем разница между разными методами помещения кода JavaScript в <a>?

Я видел следующие методы помещения кода 9X_javascript-library JavaScript в тег :

function DoSomething() { ... return false; } 
  1. link
  2. link
  3. link
  4. link

Я понимаю идею попытки 9X_span разместить действительный URL вместо кода 9X_html-tag JavaScript, на всякий случай, если у пользователя 9X_href не включен JavaScript. Но для целей этого 9X_vanilla-javascript обсуждения я должен предположить, что JavaScript 9X_div-layouts включен (они не могут войти без него).

Мне 9X_javascript-execution лично нравится вариант 2, поскольку он позволяет 9X_html-tag увидеть, что будет выполняться - особенно 9X_div полезно при отладке, когда в функцию передаются 9X_html5 параметры. Я использовал его довольно часто 9X_vanillajs и не обнаружил проблем с браузером.

Я читал, что 9X_html-tag люди рекомендуют 4, потому что это дает 9X_.js пользователю реальную ссылку для перехода, но 9X_webpage на самом деле # не "настоящий". Он 9X_javascript-library никуда не денется.

Есть ли тот, который не 9X_html-tag поддерживается или действительно плохой, если 9X_href вы знаете, что у пользователя включен JavaScript?

Связанный 9X_vanillajs вопрос: Href for JavaScript links: “#” or “javascript:void(0)”?.

88
0
7
Общее количество ответов: 7

Ответ #1

Ответ на вопрос: В чем разница между разными методами помещения кода JavaScript в <a>?

Мне очень нравится Matt Kruse's Javascript Best Practices article. В нем он заявляет, что 9X_javascript-library использование раздела href для выполнения кода 9X_javascript JavaScript - плохая идея. Несмотря на то, что 9X_divs вы заявили, что у ваших пользователей должен 9X_js быть включен JavaScript, нет причин, по 9X_vanillajs которым у вас не может быть простой HTML-страницы, на 9X_javascript которую могут указывать все ваши ссылки 9X_.js JavaScript для своего раздела href в случае, если 9X_javascript кто-то отключит JavaScript после вход в 9X_vanillajs систему. Я настоятельно рекомендую вам разрешить 9X_ecmascript этот резервный механизм. Что-то вроде этого 9X_div-layouts будет соответствовать «передовым методам» и 9X_href достигнет вашей цели:

go 

69
3

  • Вы можете переопределить это значение с помощью атрибута title, например <a href="javascript_required.htm ...

Ответ #2

Ответ на вопрос: В чем разница между разными методами помещения кода JavaScript в <a>?

Зачем это делать, если можно использовать 9X_divs addEventListener / attachEvent? Если нет href -эквивалента, не используйте 9X_html , используйте






Кроссбраузерность

 
 
 

Вы можете запустить это до того, как документ 9X_ecmascript будет готов, нажатие кнопок будет работать, потому 9X_ecmascript что мы прикрепляем событие к документу.

Источники:

1
0