JQuery live函数
更新时间:2010年12月24日 22:31:24 作者:
给指定id或class的元素绑定(bind)事件时,对于改变或新加的元素,事件不会起作用,这时我们就要用live函数,它可以让子元素继承父元素的事件。
摘自 jQuery 1.4.1 中文参考:
事件委托
.live() 方法能对一个还没有添加进DOM的元素有效,是由于使用了事件委托:绑定在祖先元素上的事件处理函数可以对在后代上触发的事件作出回应。传递给 .live() 的事件处理函数不会绑定在元素上,而是把他作为一个特殊的事件处理函数,绑定在 DOM 树的根节点上。在我们的例子中,当点击新的元素后,会依次发生下列步骤:
- 生成一个click事件传递给 <div> 来处理
- 由于没有事件处理函数直接绑定在 <div> 上,所以事件冒泡到DOM树上
- 事件不断冒泡一直到DOM树的根节点,默认情况下上面绑定了这个特殊的事件处理函数。
- 执行由 .live() 绑定的特殊的 click 事件处理函数。
- 这个事件处理函数首先检测事件对象的 target 来确定是不是需要继续。这个测试是通过检测 $(event.target).closest('.clickme') 能否找到匹配的元素来实现的。
- 如果找到了匹配的元素,那么调用原始的事件处理函数。
由于只有在事件发生时才会在上面的第五步里做测试,因此在任何时候添加的元素都能够响应这个事件
相关文章
jquery根据一个值来选中select下的option实例代码
下面小编就为大家带来一篇jquery根据一个值来选中select下的option实例代码。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧2016-08-08解决3.01版的jquery.form.js中文乱码问题的解决方法
最近用到了jquery的一个fom插件,是一个全面支持表单的jQuery插件。昨天在用ajaxSubmit进行Form Post提交的时候,发现服务器端取回的中文数据居然是乱码。这个可能是因为jquery是utf-8,不支持gb23122012-03-03
最新评论