javascript在事件监听方面的兼容性小结
作者:bea
1,IE使用attachEvent/detachEvent方法来添加和删除事件监听器;w3c使用addEventListener/removeEventListener方法。 2,IE对其事件使用onevent的命名方式,而w3c的是event的命名方式。 3,IE事件监听器内使用的是一个全局的Event对象,而w3c是将event对象作为参数传递给监听器。 4,为了避免触发默认的事件行为,IE的做法是要求程序员设置Event对象中的returnValue属性值为false,
1,IE使用attachEvent/detachEvent方法来添加和删除事件监听器;w3c使用addEventListener/removeEventListener方法。
2,IE对其事件使用onevent的命名方式,而w3c的是event的命名方式。
3,IE事件监听器内使用的是一个全局的Event对象,而w3c是将event对象作为参数传递给监听器。
4,为了避免触发默认的事件行为,IE的做法是要求程序员设置Event对象中的returnValue属性值为false,而w3c的做法是执行preventDefault方法。
5,IE没有提供对事件捕获阶段的支持。
6,要停止事件的传递,IE的做法是设置event对象的cancelBubble为true,而w3c的做法是设置执行stopPropagation方法。
7,IE将事件监听器当做一个独立的函数来调用,而w3c中它是作为对象的方法来调用的,这表示在ie中事件监听器中的this关键字指向的不是事件发生对象而是一个没用的全局对象(window对象)。
8,IE在使用事件监听器方面存在内存泄露问题。在IE浏览器中,如果要为某个元素创建一个事件监听器,并且在监听器中使用该元素,则在用户进入其他页面之前,该监听器以及相关的DOM节点作占据的内存空间不会被释放。
有用 |
无用
2,IE对其事件使用onevent的命名方式,而w3c的是event的命名方式。
3,IE事件监听器内使用的是一个全局的Event对象,而w3c是将event对象作为参数传递给监听器。
4,为了避免触发默认的事件行为,IE的做法是要求程序员设置Event对象中的returnValue属性值为false,而w3c的做法是执行preventDefault方法。
5,IE没有提供对事件捕获阶段的支持。
6,要停止事件的传递,IE的做法是设置event对象的cancelBubble为true,而w3c的做法是设置执行stopPropagation方法。
7,IE将事件监听器当做一个独立的函数来调用,而w3c中它是作为对象的方法来调用的,这表示在ie中事件监听器中的this关键字指向的不是事件发生对象而是一个没用的全局对象(window对象)。
8,IE在使用事件监听器方面存在内存泄露问题。在IE浏览器中,如果要为某个元素创建一个事件监听器,并且在监听器中使用该元素,则在用户进入其他页面之前,该监听器以及相关的DOM节点作占据的内存空间不会被释放。
猜你喜欢
您可能感兴趣的文章:
- Javascript string 扩展库代码
- JavaScript 设计模式之组合模式解析
- javascript 单例模式演示代码 javascript面向对象编程
- 跟着Jquery API学Jquery之一 选择器
- 基于JQuery的cookie插件
- JQuery为textarea添加maxlength属性的代码
- JavaScript和JQuery实用代码片段(一)
- jquery 学习笔记一
- ext jquery 简单比较
- jQuery asp.net 用json格式返回自定义对象
- FileUpload 控件 禁止手动输入或粘贴的实现代码
- js 小贴士一星期合集
- javascript 函数使用说明
- js下获取div中的数据的原理分析
- Exjs 入门篇
- javascript window.opener的用法分析
- JS的反射问题
- Extjs在exlipse中设置自动提示的方法
- javascript setTimeout()传递函数参数(包括传递对象参数)