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

Posted shaohua0718

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了IE下href="javascript:void 会弹出空白页相关的知识,希望对你有一定的参考价值。

经过排查,发现是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;"> 作用一样,但不同浏览器会有差异。

 




以上是关于IE下href="javascript:void 会弹出空白页的主要内容,如果未能解决你的问题,请参考以下文章

window.location.href 在IE下404错误 , 在火狐、chrome下正常访问。求解释

30 段 JavaScript 代码

R2C-如果IE6超轻

js IE8 下 怎么获取文件大小

求chrome 浏览器下用javascript读写txt文件的办法!

在Javascript中,下列选项关于IE的window对象描述错误的