对于原生态的addEventListener与jqueryDOM操作对于事件处理的区别
2013-04-23 00:00
459 查看
今天看了WTP写的文章,感觉确实如此,在此总结一下自己的心得。
文章中提到,对于jquery添加DOM事件
但是如果在js中添加一段代码
结果是:输出了1,接着抛出了一个异常,没有输出2
当我们使用浏览器自带的方法“addEventListener”的时候
这个时候,我们在控制台中可以看到结果是:
1
C is not defined
2
我们可以看出,对于浏览器的addEventListener与jquery的处理方式是不一样的。
文章上面总结的好,把这两种处理方式定义成:继续执行策略,停止执行策略
继续执行策略:浏览器会抛出异常,然后继续执行后面的方法。
停止执行策略:jquery会抛出异常,然后停止执行后面的方法。
对于继续执行策略,核心思想是:事件handlers之间应该彼此无依赖,即便有异常也不能影响到其他的handlers的执行,实现上面可以通过 "try catch "或者“setTimeout”等方式,确保不影响到别的事件的执行。
对于停止执行策略,核心思想是:事件handlers之间应该彼此无依赖,当某一个handler异常的时候,不应该当作没有看见,继续执行其他的handler。
最后作者得出了总计:无论停止还是继续执行,都同意事件handlers之间应该彼此无依赖的,这一点是不存在分歧的,但是在涉及到异常的时候,两种方法有两种做法了。
最后作者留给我们一个小任务:去了解下YUI,MooTools,Prototype,Dojo的处理策略。
下午去查一下:然后写上来。
(还是忙的忘了时间去查了)
支持持续执行的类库框架有: MooTools,Prototype,Dojo
支持停止执行的类库框架有:YUI3,JQuery,Backbone
最后感谢“WTP”的作者-玉伯的精彩的文章。。。
文章中提到,对于jquery添加DOM事件
$(document).click(function(){ console.log('1'); }) $(document).click(function(){ console.log('2'); })当点击document的时候,控制台会输出1和2.
但是如果在js中添加一段代码
$(document).click(function(){ console.log('1'); C++ }) $(document).click(function(){ console.log('2'); })这个时候,当你点击document的时候,控制台会报错,说“C”没有被定义。。。。
结果是:输出了1,接着抛出了一个异常,没有输出2
当我们使用浏览器自带的方法“addEventListener”的时候
document.addEventListener('click',function(){ console.log('1'); C++; },false); document.addEventListener('click',function(){ console.log('2'); },false);
这个时候,我们在控制台中可以看到结果是:
1
C is not defined
2
我们可以看出,对于浏览器的addEventListener与jquery的处理方式是不一样的。
文章上面总结的好,把这两种处理方式定义成:继续执行策略,停止执行策略
继续执行策略:浏览器会抛出异常,然后继续执行后面的方法。
停止执行策略:jquery会抛出异常,然后停止执行后面的方法。
对于继续执行策略,核心思想是:事件handlers之间应该彼此无依赖,即便有异常也不能影响到其他的handlers的执行,实现上面可以通过 "try catch "或者“setTimeout”等方式,确保不影响到别的事件的执行。
对于停止执行策略,核心思想是:事件handlers之间应该彼此无依赖,当某一个handler异常的时候,不应该当作没有看见,继续执行其他的handler。
最后作者得出了总计:无论停止还是继续执行,都同意事件handlers之间应该彼此无依赖的,这一点是不存在分歧的,但是在涉及到异常的时候,两种方法有两种做法了。
最后作者留给我们一个小任务:去了解下YUI,MooTools,Prototype,Dojo的处理策略。
下午去查一下:然后写上来。
(还是忙的忘了时间去查了)
支持持续执行的类库框架有: MooTools,Prototype,Dojo
支持停止执行的类库框架有:YUI3,JQuery,Backbone
最后感谢“WTP”的作者-玉伯的精彩的文章。。。
相关文章推荐
- JQuery总结:选择器归纳、DOM遍历和事件处理、DOM完全操作和动画
- JQuery DOM clone(true),对于克隆对象事件触发后,处理函数中this指代克隆对象
- JQuery总结:选择器归纳、DOM遍历和事件处理、DOM完全操作和动画
- Web29. jQuery选择器 Dom操作 样式 事件处理 动画
- JQuery总结:选择器归纳、DOM遍历和事件处理、DOM完全操作和动画 (转)
- [JQuery]:jQuery筛选元素方法、操作CSS样式和处理事件方式
- [jQuery] Dom元素操作和事件获取
- css的hover事件,如果点击之后通过js操作样式,hover事件就会失效的处理方法,外部css样式与js的DOM样式谁的权重高?
- jQuery——入门(三)JQuery DOM操作(核心处理和文档处理)
- jquery对于属性和事件的操作
- jQuery中的属性操作,jQuery中的事件处理、jQuery 中的动画简单介绍
- 我之见于Javascript中DOM0级处理和DOM2级处理事件的区别
- js中ie与标准dom的区别——事件处理
- JQuery DOM操作、 事件和动画
- asp.net 中RadioButtonList的选项改变事件处理(采用jquery操作)
- jQuery操作dom事件
- [DOM Event Learning] Section 3 jQuery事件处理基础 on(), off()和one()方法使用
- JavaScript之jQuery-4 jQuery事件(页面加载后执行、事件处理、事件冒泡、事件对象、模拟操作)
- jQuery源码分析-10事件处理-Event-DOM-ready
- jQuery 选择器、DOM操作、事件、动画