欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

jQuery中bind與live的用法及區(qū)別小結(jié)

 更新時(shí)間:2014年01月27日 08:55:29   作者:  
本篇文章主要是對(duì)jQuery中bind與live的用法以及區(qū)別進(jìn)行了介紹,需要的朋友可以過來參考下,希望對(duì)大家有所幫助

首先介紹這兩個(gè)方法之前,我們常用的是click()方法

復(fù)制代碼 代碼如下:

$("a").click(function() {
     alert("hello");
});

click()方法是bind()方法的一種簡單方法。在bind()中,
jQuery所有JavaScript事件對(duì)象,比如focus, mouseover,和resize,
都是可以作為type參數(shù)傳遞進(jìn)來的。

參數(shù):type,[data],function(eventObject)
例如:

復(fù)制代碼 代碼如下:

$("p").bind("click",function(){
     alert("hello");
})

也可以傳參
復(fù)制代碼 代碼如下:

var message = "how are you!";
$("p").bind("click",{msg:message},function(e){
     alert(e.data.msg);
})

live()給所有匹配的元素附加一個(gè)事件處理函數(shù),
即使這個(gè)元素是以后再添加進(jìn)來的也有效。如下:
復(fù)制代碼 代碼如下:

<tr class="mytr">
     <td class="mytd">Click me</td>
</tr>

$(".mytd").bind("click",function(){
      alert("hello");
})


點(diǎn)擊Clike me 會(huì)彈出hello

此時(shí)添加一個(gè)新的元素進(jìn)來

復(fù)制代碼 代碼如下:

$(".mytr").after("<tr><td class='mytd'>后加的</td></tr>");

這時(shí) 再使用bind點(diǎn)擊"后加的"不會(huì)執(zhí)行
改為使用live()方法
復(fù)制代碼 代碼如下:

$(".mytd").live("click",function(){
 alert("hello");
})

.live()方法能對(duì)一個(gè)還沒有添加進(jìn)DOM的元素有效,是由于使用了事件委托:
綁定在祖先元素上的事件處理函數(shù)可以對(duì)在后代上觸發(fā)的事件作出回應(yīng)。
傳遞給 .live() 的事件處理函數(shù)不會(huì)綁定在元素上,而是把他作為一個(gè)特殊的事件處理函數(shù),綁定在 DOM 樹的根節(jié)點(diǎn)上。

相關(guān)文章

最新評(píng)論