本文所分享的知识点是【jQuery中bind与live的用法及区别小结】,欢迎您喜欢我爱IT技术网所分享的教程、知识、经验或攻略,下面是详细的讲解。
jQuery中bind与live的用法及区别小结
首先介绍这两个方法之前,我们常用的是click()方法
$("a").click(function() {
alert("hello");
});
click()方法是bind()方法的一种简单方法。在bind()中,
jQuery所有JavaScript事件对象,比如focus, mouseover,和resize,
都是可以作为type参数传递进来的。
参数:type,[data],function(eventObject)
例如:
$("p").bind("click",function(){
alert("hello");
})
也可以传参
var message="how are you!";
$("p").bind("click",{msg:message},function(e){
alert(e.data.msg);
})
live()给所有匹配的元素附加一个事件处理函数,
即使这个元素是以后再添加进来的也有效。如下:
<tr class="mytr">
<td class="mytd">Click me</td>
</tr>
$(".mytd").bind("click",function(){
alert("hello");
})
点击Clike me 会弹出hello
此时添加一个新的元素进来
$(".mytr").after("<tr><td class='mytd'>后加的</td></tr>");
这时 再使用bind点击"后加的"不会执行
改为使用live()方法
$(".mytd").live("click",function(){
alert("hello");
})
.live()方法能对一个还没有添加进DOM的元素有效,是由于使用了事件委托:
绑定在祖先元素上的事件处理函数可以对在后代上触发的事件作出回应。
传递给 .live() 的事件处理函数不会绑定在元素上,而是把他作为一个特殊的事件处理函数,绑定在 DOM 树的根节点上。
关于jQuery中bind与live的用法及区别小结的相关讨论如下:
相关问题:Jquery中bind和live的区别
答:bind就是调用的on,由于jq绑定事件有bind,live,delegate三个方法,比较混乱,所以新版本才出了on代替这三个 >>详细
相关问题:Jquery中bind和live的区别
答:bind() 方法为被选元素添加一个或多个事件处理程序,并规定事件发生时运行的函数。 live() 方法为被选元素附加一个或多个事件处理程序,并规定当这些事件发生时运行的函数。 通过 live() 方法附加的事件处理程序适用于匹配选择器的当前及未来的... >>详细
相关问题:Jquery中bind和live的区别
答:bind是直接绑定 live是动态的, 例如页面开始没有一个元素,后来需要到指定位置追加一个button之类的, 依然可以触发该事件 >>详细
- 评论列表(网友评论仅供网友表达个人看法,并不表明本站同意其观点或证实其描述)
-
