1.  Frame
  (1)问题:在IE中可以用window.top.frameId和window.top.frameName来得到该Frame所代表的Window,Firefox中只能用window.top.frameName。
  (2)解决:将Frame的Id和Name设置成相同,使用window.top.frameName来访问Frame。

2. innerText问题:

(1)现有问题:IE使用innerText,而Firefox使用textContent来设置元素文本内容。
(2)解决方法:如果文本内容不包含"<"和">"等特殊字符,可以使用innerHTML。否则用textContent

3. parentElement,parent.children
  (1)现有问题:IE可以使用parentElement获得父结点,parent.children得到结点的所有孩子结点。Firefox不支持。
  (2)解决方法:使用parentNode和parent.childNodes。

4.对childNodes的解释。
  (1)现有问题:IE和Firefox中对childNodes的解释不同,IE不会包含空白文本结点,而Firefox会包含。
  (2)解决方法:使用childNodes过滤文本结点,如下:
      var children = elem.childNodes;
          for (i = 0; i < children.length; i++) {
            if (children[i].nodeType != 3) { // 过滤文本结点
              // ...
            }
          }

5. 对document.getElementById的解释。
  (1)现有问题:IE中getElementById不仅检查Id属性,也会检查Name属性,当Name属性匹配参数时也会返回该元素。而在Firefox中只会检查Id属性。
  (2)解决方法:尽量保持Id和Name相同,不要让一个元素name属性和另一个元素的id属性相同。

6. 事件差异:IE下是冒泡事件,W3C标准支持冒泡和捕获

(1)绑定事件:

IE attachEvent,detachEvent

Firefox addEventListener,removeEventListener

(2)事件状态:

IE中:事件对象为window.event:$("div").onclick = function() { var oEvent = window.event;}

DOM中:事件对象必须为唯一的事件参数传递给事件处理函数: $("div").onclick = function(){ var oEvent = arguments[0];}或

$("div").onclick = function(oEvent){}

(3)事件源:

IE中:var oTarget = oEvent.srcElement;

DOM中:var oTarget = oEvent.target;

(4)停止事件默认行为:

IE: oEvent.returnValue = false;

DOM:oEvent.preventDefault();

(5)停止事件冒泡或捕获:

if (isIE) {

oEvent.cancelBubble = true;
} else {
oEvent.stopPropagation();
}

最新文章

  1. ML 基础知识
  2. Codeforces Round #375 (Div. 2) - A
  3. 浅谈一下缓存策略以及memcached 、redis区别
  4. 001.linux下clock()检测程序运行时间
  5. NWERC 2012 Problem E Edge Case
  6. Linux 编程学习笔记----过程管理和项目发展(在)
  7. PHP单元测试利器:PHPUNIT初探
  8. leetcode第21题--Generate Parentheses
  9. python2.x与3.x的主要区别笔记
  10. 基础:新建个maven项目
  11. Lonsdor K518ISE SCION 2011-2018 Models Enabled!
  12. python 变量进阶(理解)
  13. python3用BeautifulSoup抓取a标签
  14. [原]vue - webapp 返回无效 解决方案
  15. 关于上级机构的冲突性测试bug修复
  16. LeetCode 141. Linked List Cycle环形链表 (C++)
  17. Spring 注解 @Resource和@Autowired
  18. 使用webstorm创建vue项目
  19. 【centos6.5】安装LNMP(linux公社)
  20. Js全反选DataGrid

热门文章

  1. exp导出一个表中符合查询条件的数据
  2. Java并发—java.util.concurrent.locks包
  3. git命令集合
  4. STL sort “invalid operator &lt;”
  5. iOS学习之七牛云存储应用
  6. pycharm断点调试
  7. linux svn 命令
  8. 理解display中的box-flex属性
  9. React setState更新数组中的某个元素Element item
  10. MySQL Binlog解析(2)