Ниже приведены два метода создания ссылки, единственной целью которой является запуск кода 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();">все будет хорошо.