您的位置:首页 > 产品设计 > UI/UE

jquey 中.live 和.bind区别

2016-01-05 17:46 477 查看
先举个例子:

<body>
<div class="dj">点击</div>
</body>

 

$("div.dj").bind("click",function(){
alert("XXXXXXXXXXX");
$("body").append('<div class="dj">再点击</div>');
});


 

$("div.dj").live("click",function(){
alert("XXXXXXXXXXX");
$("body").append('<div class="dj">再点击</div>');
});


 结果:

  在调用bind()后插入到body里面的“再点击”没有起到任何效果。

  调用live()后插入到body的“再点击”可以继续使用。

 

1.live(type,[data],fn)  给每个匹配元素附加一个事件处理函数,即使这个元素后面再添加进来的也有效。

 

2.bind(type,[data],fn)   为每个匹配元素的特定事件绑定处理函数,如果这个元素在调用.bind()之后添加的,想再次触发时这个元素不起任何效果。

 

   参数:

typeString含有一个或多个事件类型字符串或自定义的事件名。可以同时绑定多个事件
如:"click","submit","focus","mouseover","resize"......

自定义:通过.trigger()或.triggerHandler()手动触发

dataObject作为event.data属性值传递给事件对象的额外数据对象,是可选的。
fnfunction每个匹配元素的事件处理函数
 

例:

$("#foo").bind("mouseenter mouseleave",function(){
$(this).toggleClass("enteredCss");
})


 
id="foo"元素,鼠标移进去的时候加入enteredCss样式,移出的时候去除这个样式。(初始的时候不存在这个样式)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: