IE下href="javascript:void(0) 会弹出空白页

经过排查,发现是href="javascript:void(0);"导致的问题,本来javascript:void(0);的用处是不用整体刷新网页且返回一个空值,但这儿由于DOM本身的冒泡事件所以会最后执行HREF属性内的javascript:void(0);导致执行函数返回了一个空值,所以覆盖掉了前面正常执行函数所返回的值引起的错误。

一般情况下,IE会先运行DOM本身绑定的事件,如ONCLICK;如果没有阻止冒泡,则会顺序执行HREF属性。如果想正确运行,可以在前面用RETURN FALSE终止冒泡,例如:

<a target="_blank" class="prev" onclick="return false;"   href="javascript:void(0);"></a>
或者直接删去也行,如:
<a target="_blank"  class="prev" ></a>

 

如果希望a链接执行一定的饿函数,则需要直接删除href="javascript:void(0);"就可以了。

<a href="javascript:void(0);"></a>让a链接完全不起作用

<a href="javascript:void(0);" onclick="lizi()" ></a>    页面不动,只打开链接

<a href="#">返回改页面顶部

 

href=”javascript:void(0);”这个的含义是,让超链接去执行一个js函数,而不是去跳转到一个地址,
而void(0)表示一个空的方法,也就是不执行js函数。

为什么要使用href=”javascript:void(0);”

javascript:是伪协议,表示url的内容通过javascript执行。void(0)表示不作任何操作,这样会防止链接跳转到其他页面。这么做往往是为了保留链接的样式,但不让链接执行实际操作,

<a href="javascript:void(0)" onClick="window.open()"> 点击链接后,页面不动,只打开链接

<a href="#" onclick="javascript:return false;"> 作用一样,但不同浏览器会有差异。

 

posted @ 2018-10-12 11:29  绍华~  阅读(827)  评论(0编辑  收藏  举报