jquery事件委托如何使用
1、jQuery 的事件委托方法是在父元素上绑定事件,而不是在每个子元素上绑定事件。这样可以提高性能,因为只需要绑定一次事件,就可以处理所有的子元素事件。jQuery 支持三种事件委托方法:on、live 和 delegate。
2、jQuery事件的绑定和委托可以用多种方法实现,on() 、 bind() 、 live() 、 delegate() ,还有one()。
3、因此,如果要在事件中阻止委托事件被触发,可以调用event.stopPropagation()或者返回false防止委派处理程序冒泡。简单来说,.bind()是直接绑定在元素上,而.live()和.delegate()则是通过冒泡的方式来绑定到元素上的。
4、(#ul1).on(click,li,function()这个的意思,就是给#ul1里面的每个li绑定click事件,并把事件触发后的处理都委托给#ul1。
5、使用事件委托 .live() 方法能对一个还没有添加进DOM的元素有效,是由于使用了事件委托:绑定在祖先元素上的事件处理函数可以对在后代上触发的事件作出回应。
6、正确使用事件委托事件委托可以使事件更好的执行,在动态添加的元素上绑定事件也需要委托来实现,在新版本的jQuery中推荐大家使用on来给元素绑定一个或多个事件的处理函数。
JQuery中this和event.target的区别
1、关于JQuery中this和event.target的区别如下:js中的事件会冒泡,因此可以更改,但是event.target不会更改,它始终指向触发事件本身的DOM元素;假设htm是 / span / div,单击span时,更改span的颜色。
2、但是 target 则不同,它指向的是 事件实际执行所在的元素 ,所以本例中 e.target.id 的值取决于鼠标直接所点击的元素。
3、而对于currentTarget,它指的是当事件遍历DOM时,标识事件的当前目标。它总是引用事件处理程序附加到的元素,而不是 event.target ,它标识事件发生的元素。 举个例子来说明。
4、event.target属性的作用是获取到出发事件的元素。jQuery对其封装后,避免了W3C、IE和safari浏览器不同标准的差异。
5、(this)是触发执行当前函数块(事件处理函数)最内层(距离最近的)的jQuery对象,在你的代码中就是触发了mouseover事件的对象。
6、表示对象不同:this表示的是javascript提供的当前对象,$(this)表示的是用jquery封装候的当前对象。过程不同:this对象可以直接用this.style修改样式,$(this)可以使用jquery提供的方法访问样式。
e.target与e.currentTarget的区别
target和currentTarget的区别是:target:触发事件的元素。currentTarget:事件绑定的元素。
但是 target 则不同,它指向的是 事件实际执行所在的元素 ,所以本例中 e.target.id 的值取决于鼠标直接所点击的元素。
target在事件流的目标阶段;currentTarget在事件流的捕获,目标及冒泡阶段。
e.target与e.currentTarget是干什么的?e.target获取当前实际触发事件节点,e.currentTarget获取获取当前监听节点。
jquery事件冒泡原理的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于jquery中存在冒泡事件、jquery事件冒泡原理的信息别忘了在本站进行查找喔。