关于火狐和IE下href="javascript:void(0)"兼容性的问题
2016-04-11 21:05
621 查看
火狐和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>
经过排查,发现是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>
相关文章推荐
- Effective JavaScript Item 35 使用闭包来保存私有数据
- Python实现Json结构对比的小工具兼谈编程求解问题
- 浏览器加载和渲染html的顺序(html/css/js)
- 浏览器加载和渲染html的顺序(html/css/js)
- jsp页面中的$(param.xxxxx)
- JS中把函数作为另一函数的参数传递总结
- JavaScript 项目实战工具类
- JS 基础回顾(一)
- js练习题二:函数接收
- [BZOJ2257][Jsoi2009]瓶子和燃料
- 关于JS出现的Cannot read property 'XXX' of null错误
- qt+evaluatejavascript
- js和qt4 evaluteJavascript
- js练习题:网页换肤
- 获取前端post方式传过来的JSON格式的数据的代码
- js学习笔记3
- javaScript获取浏览器窗口可视区域大小
- JavaScript(1)
- js: how to get length of dict
- jsp中获取客户ip及其他资料的方法