delegate()还有一个非常重要的性质:使用delegate() 方法的事件处理程序适用于当前已经存在或未来新增的元素。那么delegate()是怎么做到的呢?很简单,利用javascript中的事件冒泡机制。当子元素产生1个事件的时候,如果没有禁止这个事件的传播,那么父元素也会感知到这个事件(父元素上的事件处理函数被调用)。而且通过Event对象,能够拿到最初触发事件的元素。下面的代码,我们自己实现了1个简易的事件委托机制。...
分类:
Web程序 时间:
2015-02-03 22:57:19
阅读次数:
237
原文:事件冒泡与默认行为在说事件冒泡之前,我们先说说事件对象(Event) Event 在触发DOM上某个事件时,会产生一个事件对象event,这个对象包含着所有事件有关的信息(导致事件的元素、事件的类型、与特定事件相关的信息) 所有浏览器都支持Event对象,但支持方式不同 IE中的事件对象:wi...
分类:
其他好文 时间:
2015-02-02 09:29:26
阅读次数:
131
在说事件冒泡之前,我们先说说事件对象(Event)Event在触发DOM上某个事件时,会产生一个事件对象event,这个对象包含着所有事件有关的信息(导致事件的元素、事件的类型、与特定事件相关的信息)所有浏览器都支持Event对象,但支持方式不同IE中的事件对象:window.event /...
分类:
其他好文 时间:
2015-02-02 00:36:37
阅读次数:
235
事件委托:利用事件冒泡的原理,把事件添加到父级身上,触发执行效果好处:1:提高性能。2:新添加的元素,还会有之前的事件。实例:无标题文档 111 222 333 444
分类:
其他好文 时间:
2015-01-31 17:44:37
阅读次数:
178
如果我们想手动触发click事件,最常见的做法是通过$("#button").click()来触发,这种做法姑且叫方式一吧。方式一触发事件有3个特点:1. 会产生事件冒泡2. 不会阻止事件在浏览器下的默认行为3. 触发事件的时候,不能传递自定义参数。trigger与triggerHandler的差别在于:1. trigger会触发事件冒泡,而triggerHandler则不会2.triggerHandler只触发jQuery对象集合中第一个元素的事件处理函数,而trigger则触发所有对象的事件处理函数3....
之前的这篇博客详细地介绍了javascript中的事件冒泡和事件捕获,以及DOM事件流。现在我们来看下,JQuery框架中的事件冒泡问题,以及如何阻止事件的传播行为。
1、JQuery中的事件绑定,都是属于事件冒泡。
这篇博客介绍了JQuery中绑定事件处理函数的几种方式,从中可以看到:这几种绑定方式,都不允许我们传递事件类型(是事件冒泡,还是事件捕获)。而javascript原生提供的...
分类:
Web程序 时间:
2015-01-29 14:35:40
阅读次数:
129
最近一个项目基于3维skyline平台,进行javascript二次开发。对skyline事件的设计真是无语至极,不堪折磨啊!抽空学习了下,javascript和jquery的事件设计,收获颇大,总结此贴,和大家分享。到这里是不是可以理解addEventListener(type,handler,useCapture)这个API中第三个参数useCapture的含义呢?useCapture=false意味着:将事件处理函数加入到冒泡阶段,在冒泡阶段会被调用;useCapture=true意味着:将事件处理函...
分类:
编程语言 时间:
2015-01-29 00:08:21
阅读次数:
196
以点击事件为例 网站管理 li 与a元素都有点击事件,在默认情况下点击a标签则同样会触发li的点击事件,如需避免此情况只需在a的点击事件中阻止事件冒泡就行了 $("a.ajaxPage").click(function(event){//do sth event.stopPropagatio...
分类:
Web程序 时间:
2015-01-24 22:47:55
阅读次数:
159
简单的鼠标移动事件:进入mouseenter:不冒泡mouseover: 冒泡不论鼠标指针穿过被选元素或其子元素,都会触发 mouseover 事件只有在鼠标指针穿过被选元素时,才会触发 mouseenter 事件移出mouseleave: 不冒泡mouseout:冒泡不论鼠标指针离开被选元素还是任...
分类:
其他好文 时间:
2015-01-22 17:06:54
阅读次数:
176
例如:document上有A事件,div有B事件,div里面的span有C事件,如果不给span和div加阻止事件冒泡的话,点击span时 就会触发到div的B事件、document的A事件,当点击span时不想触发div和document的事件就要加上阻止事件冒泡,div也是一样的 道理。JQue...
分类:
其他好文 时间:
2015-01-20 19:49:35
阅读次数:
199