Я видел следующие методы размещения JavaScript-кода в теге <a>
:
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>
Я понимаю идею попыток поместить правильный URL вместо простого кода JavaScript, на всякий случай, если у пользователя нет встроенного JavaScript. Но для этой дискуссии мне нужно предположить, что JavaScript включен (они не могут войти без него).
Мне лично нравится вариант 2, так как он позволяет вам увидеть, что будет запущено – особенно полезно при отладке, когда параметры передаются функции. Я использовал его совсем немного и не нашел проблем с браузером.
Я читал, что люди рекомендуют 4, потому что он дает пользователю реальную ссылку, но на самом деле # не является "реальным". Ничего не будет.
Есть ли тот, который не поддерживает или действительно плохо, когда вы знаете, что у пользователя включен JavaScript?
Связанный с этим вопрос: Ссылка для ссылок на JavaScript: "#" или "javascript: void (0)" ?.