脚本宝典收集整理的这篇文章主要介绍了javascript代码实例教程-js框架开发之旅--事件二,脚本宝典觉得挺不错的,现在分享给大家,也给大家做个参考。小宝典致力于为广大程序猿(媛)提供高品质的代码服务,请大家多多光顾小站,小宝典在此谢过。 由于老外的叙事实在罗嗦,因此我以后仅仅翻译重点的东西,或者自己进行整理总结,如有错误之处,还请看官指正。
W3C标准和IE的差异
W3C标准绑定事件的方法
[javascript]
element.addEventListener('click', function() { }, false);
IE绑定事件的方法
[javascript]
VAR handler = function() { };
element.attachEvent('onclick', handler);
element.detachEvent('onclick', handler);
使用能力探测来适配两者之间的不同:
[javascript]
if (element.addEventListener) {
element.addEventListener(tyPE, responder, false);
} else if (element.attachEvent) {
element.attachEvent('on' + type, responder);
}
IE事件绑定中存在的两个问题:
1.内存泄露
大部分框架使用缓存记录事件的绑定,并在onunload事件中对绑定的事件进行清理。
2.event和target
event可以通过window.event获取,target可以通过event.srcElement代替。
验证元素
对于传进来的元素,我们首先要确定它是否可以添加事件。根据元素的nodeType属性可以确定节点的类型:
元素 element 1
属性 attr 2
文本 text 3
注释 comments 8
文档 document 9
我们要在元素中过滤掉文本节点和注释节点:
[javascript] view plaincopy
function isValidElement(element) {
return element.nodeType !== 3 && element.nodeType !== 8;
}
接口设计
接口设计参考W3C标准:
添加事件:turing.events.add(element, type, callback)
删除事件:turing.events.remove(element, type, callback)
触发事件:turing.events.fire(element, type)
使用event获取事件对象,提供target属性获取目标元素
觉得可用,就经常来吧! 脚本宝典 欢迎评论哦! js脚本,巧夺天工,精雕玉琢。小宝典献丑了!
以上是脚本宝典为你收集整理的javascript代码实例教程-js框架开发之旅--事件二全部内容,希望文章能够帮你解决javascript代码实例教程-js框架开发之旅--事件二所遇到的问题。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。