Widziałem następujące metody umieszczania kodu JavaScript w <a>
tagu:
function DoSomething() { ... return false; }
<a href="javascript:;" onClick="return DoSomething();">link</a>
<a href="javascript:DoSomething();">link</a>
<a href="javascript:void(0);" onClick="return DoSomething();">link</a>
<a href="#" onClick="return DoSomething();">link</a>
Rozumiem ideę próby umieszczenia prawidłowego adresu URL zamiast samego kodu JavaScript, na wypadek gdyby użytkownik nie miał włączonej obsługi JavaScript. Ale na potrzeby tej dyskusji muszę założyć, że JavaScript jest włączony (nie mogą się bez niego zalogować).
Osobiście podoba mi się opcja 2, ponieważ pozwala zobaczyć, co zostanie uruchomione - szczególnie przydatne podczas debugowania, w którym parametry są przekazywane do funkcji. Używałem go dość często i nie znalazłem problemów z przeglądarką.
Czytałem, że ludzie polecają 4, ponieważ daje użytkownikowi prawdziwy link do naśladowania, ale tak naprawdę # nie jest „prawdziwy”. Nigdzie nie pójdzie.
Czy jest taki, który nie obsługuje lub jest naprawdę zły, kiedy wiesz, że użytkownik ma włączoną obsługę JavaScript?
Pytanie pokrewne: Href dla linków JavaScript: „#” czy „javascript: void (0)”? .