Ниже приведены два метода создания ссылки, единственной целью которой является запуск кода JavaScript. Что лучше с точки зрения функциональности, скорости загрузки страницы, целей проверки и т. Д.?
function myJsFunc() {
alert("myJsFunc");
}
<a href="#" onclick="myJsFunc();">Run JavaScript Code</a>
или
function myJsFunc() {
alert("myJsFunc");
}
<a href="javascript:void(0)" onclick="myJsFunc();">Run JavaScript Code</a>
myJsFunc()
возвращаемое значение, ваша страница сломается. jsfiddle.net/jAd9G Вы бы все равно придется использовать void
вот так: <a href="javascript:void myJsFunc();">
. Но тогда поведение все равно будет другим. Вызов ссылки через контекстное меню не вызывает click
событие.
<a href="javascript:;" onclick="myEvent()"
?
javascript:;
гораздо быстрее, чем печататьjavascript:void(0)
<a>
тег, если вы хотите НЕ открывать другую страницу с помощью встроенной функции браузера, а иметь какое-то действие javascript 'action' для запуска? Просто используйте span
тег с классом js-trigger
будет, вероятно, намного лучше ". Или я что-то упустил?
<a href="javascript:void(0)" onclick="myJsFunc();">
имеет абсолютно никакого смысла. Если вы должны использоватьjavascript:
псевдо-протокол, вам также не нужен этотonclick
атрибут.<a href="javascript:myJsFunc();">
все будет хорошо.