【发布时间】:2016-10-03 07:09:55
【问题描述】:
我有以下代码:
<a href="javascript: doSomeFunction();">Click here</a>
在 Chrome 中它运行良好,但在其他浏览器中,如 Opera、Firefox 等,它什么也不做,打开一个几乎空白的页面,并显示消息 "Object object" 或类似的东西。
如果我将上面的 href 调用更改为
<a href="#" onClick="doSomeFunction();">Click here</a>
它在所有浏览器中都能正常工作,但页面会移到顶部(滚动条)。
第三种解决方案:
<a href="javascript:void(0);" onClick="doSomeFunction();">Click here</a>
适用于所有浏览器。
不过,我还是在野外找到了这个建议:
<a href="javascript: doSomeFunction(); void(0);">Click here</a>
与上面类似,但不需要 onClick 事件。
为什么是最好的方法?为什么?
【问题讨论】:
-
不推荐将
javascript:放入href。在 onClick 中使用return false;来取消导航。
标签: javascript onclick href void