Poniżej przedstawiono dwie metody budowania łącza, którego jedynym celem jest uruchomienie kodu JavaScript. Co jest lepsze pod względem funkcjonalności, szybkości ładowania strony, celów sprawdzania poprawności itp.?
function myJsFunc() {
alert("myJsFunc");
}
<a href="#" onclick="myJsFunc();">Run JavaScript Code</a>
lub
function myJsFunc() {
alert("myJsFunc");
}
<a href="javascript:void(0)" onclick="myJsFunc();">Run JavaScript Code</a>
myJsFunc()
ma wartość zwracaną, twoja strona się zepsuje . jsfiddle.net/jAd9G ci, że nadal trzeba używać void
tak: <a href="javascript:void myJsFunc();">
. Ale zachowanie nadal by się różniło. Wywołanie łącza za pomocą menu kontekstowego nie wyzwala click
zdarzenia.
<a href="javascript:;" onclick="myEvent()"
?
javascript:;
jest o wiele szybszy do pisania niżjavascript:void(0)
<a>
tagu, jeśli NIE chcesz otworzyć innej strony za pomocą natywnej funkcji przeglądarki, ale raczej uruchomić pewne„ działanie ”javascript? Wystarczy użyć span
tagu z klasą js-trigger
prawdopodobnie znacznie lepiej ". A może coś mi brakuje?
<a href="javascript:void(0)" onclick="myJsFunc();">
ma absolutnie żadnego sensu. Jeśli musisz użyćjavascript:
protokołu psuedo, nie potrzebujesz również tegoonclick
atrybutu.<a href="javascript:myJsFunc();">
zrobi dobrze.