我的HTML中有一个用于javascript事件的锚标记。代码看起来像这样
<a href="#" onclick="myScript()">run</a>
但是,当我单击脚本时,第一次单击链接时会重新加载页面。第二次和随后的点击,它执行javascript。
我的第一个想法是它与URL
有关我的网址是
http://localhost/mypage.php?someid=1234567
但是,在第一次点击javascript链接后,它会变为
http://localhost/mypage.php#
我目前唯一的解决方案是将锚标记更改为跨度,并使用javascript和css模仿行为,但这是一个被黑客入侵的解决方案。
为什么会这样?有办法防止这种情况吗?
我的应用程序是一个Java Struts应用程序,它也在一个框架内运行。
答案 0 :(得分:7)
原因是您没有停止链接的默认操作,即转到URL #
。从事件中返回false:
<a href="#" onclick="myScript();return false;">run</a>
答案 1 :(得分:0)
或制作href javascript:;而不是#
<a href="javascript:;" onclick="myScript();">run</a>