[JS]用 或 || 来兼容FireFox
作者:xling 时间:2013-06-26 14:50:47
看例子:
运行代码框
[Ctrl+A 全部选择 提示:你可先修改部分代码,再运行]
找到 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下.
FireFox下,没有preserveWhiteSpace这个属性,即:把空白也当作一个节点,而IE则默认为false,即把空白不看成一个节点.
这里说到了XMLDom,似乎和上面所说的不相关,但是在FireFox下 previousSibling就是空白,除非两个HTML标签之间没有任何形式的空格.
<a href="http://www.blueidea.com/articleimg/bbsimg/smile.gif"/></a>
<a href="图片地址">打开</a>
两个<a>之间有换行(属于空格的一种),所以在FireFox下,取下面一个<a>的前一个节点的话,就必须用:
o.previousSibling.previousSibling.href
可能你还是没有看明白,没关系,再举个简单的:
运行代码框
[Ctrl+A 全部选择 提示:你可先修改部分代码,再运行]
好,点道为止,就讲这些!
![](/images/zang.png)
![](/images/jiucuo.png)
猜你喜欢
设计从"心"开始
SQL Server字符串切割函数
类型为search的input及相关属性
![](https://img.aspxhome.com/file/UploadPic/20092/11/safari-input-type-search-83s.jpg)
模拟兼容性的 inline-block 属性
基于FlashPaper实现JSP在线阅读代码示例
Oracle9iPL/SQL编程的经验小结
CTF中的PHP特性函数解析之中篇
![](https://img.aspxhome.com/file/2023/7/55517_0s.jpg)
基于Python爬取51cto博客页面信息过程解析
如何使用Script Encoder?
图片预加载效果的实现
sqlserver 数据库压缩与数据库日志(ldf)压缩方法分享
SQL Server 安全检查列表全攻略
ASP生成静态模版技术(带参数的标签)
二级联动下拉菜单javascript源码
SQL语句操作主从关系表
站长如何活用"nofollow"标签
sql自动增长标识导致导入数据问题的解决方法
介绍27款经典的CSS框架
在数据库中自动生成编号的实现方法分享
z-blog文章摘要图文混排
![](https://img.aspxhome.com/file/UploadPic/20092/28/tagimg-64s.gif)