手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >JS用 或 || 来兼容FireFox!
JS用 或 || 来兼容FireFox!
摘要:UntitledDocument打开打开打开[Ctrl+A全选注:如需引入外部Js需刷新才能执行]找到document.body.oncli...

Untitled Document 打开 打开 打开

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

找到document.body.onclick=function(evt),

在IE下,这个evt是不会有的,但是在fireFox下(opera下好像也是)会默认传这个参数.在IE下,这个参数是null,想兼容,就这样写.

继续向下,

evt=evt||window.event;

在IE下,evt就会指向:window.event,在fireFox下,就会指向那个默认参数.

因为在IE下evt||window.event相当于:null||window.event,结果还是window.event

而在fireFox下,就相当于evt||null,结果就是evt

相下看:

o.previousSibling.href||o.previousSibling.previousSibling.href

前面一个表达式用于IE下,后面一个用于FireFox下.

因为在IE下,XMLDom没有preserveWhiteSpace这个属性,即:把空白也当作一个节点,而IE则默认为false,即把空白不看成一个节点.

这里说到了XMLDom,似乎和上面所说的不相关,但是在FireFox下previousSibling就是空白,除非两个HTML标签之间没有任何形式的空格.

<ahref="http://www.blueidea.com/articleimg/bbsimg/smile.gif"/></a>

<ahref="图片地址">打开</a>

两个<a>之间有换行(属于空格的一种),所以在FireFox下,取下面一个<a>的前一个节点的话,就必须用:

o.previousSibling.previousSibling.href

可能你还是没有看明白,没关系,在举个简单的:

[Ctrl+A 全选 注:如需引入外部Js需刷新才能执行]

【JS用 或 || 来兼容FireFox!】相关文章:

js实现鼠标经过表格行变色的方法

JS动画效果打开、关闭层的实现方法

jquery实现点击label的同时触发文本框点击事件的方法

JavaScript实现的MD5算法完整实例

Jquery使用css方法改变样式实例

JS排序方法(sort,bubble,select,insert)代码汇总

showModelessDialog()使用详解

jQuery实现仿腾讯微博滑出效果报告每日天气的方法

实例剖析AngularJS框架中数据的双向绑定运用

探索angularjs+requirejs全面实现按需加载的套路

上一篇: 取得父标签
精品推荐
分类导航