有人可以告诉我或指出一些资源,解释为什么在超链接中使用javascript:void(0)
是有害的(特别是在Internet Explorer 6中)?
答案 0 :(得分:4)
无论如何,建议不要在链接中使用javascript:
关键字。我只是找到了一篇关于它可能有害的文章:
a href=”javascript:void(0);” — avoid the void
但普遍的共识表明你不应该使用它,因为它可能会混淆没有javascript支持的浏览器,对于某些浏览器,它可能被解析为无效链接。
相反,您应该提供指向页面的链接,以解决由javascript提供的功能或显示有关需要javascript正常工作的网站的消息。在您的活动的同一链接return false;
上,如下所示:
<a href="noscript.html" onclick="doSomething(); return false;">I'm a link</a>
或者,在您的JavaScript代码中使用return false;
或preventDefault()
和returnValue
:
element.onclick = function ()
{
/*
// return false is better for most situations (see bobince's comment)
if (event.preventDefault)
event.preventDefault();
else
event.returnValue = false;
*/
doSomething();
return false;
}
答案 1 :(得分:1)
单击<a href="javascript:void(0)" />
触发器事件“beforeunload”in object“window”IE(我已经在IE10中测试过),但点击<a href="#" />
没有。