3 回答

TA貢獻(xiàn)1783條經(jīng)驗(yàn) 獲得超4個(gè)贊
主要區(qū)別在于,它live也適用于頁(yè)面加載后將創(chuàng)建的元素(即,通過(guò)JavaScript代碼),而bind只會(huì)綁定當(dāng)前現(xiàn)有項(xiàng)目的事件處理程序。
// BIND example
$('div').bind('mouseover', doSomething);
// this new div WILL NOT HAVE mouseover event handler registered
$('<div/>').appendTo('div:last');
// LIVE example
$('div').live('mouseover', doSomething);
// this new appended div WILL HAVE mouseover event handler registered
$('<div/>').appendTo('div:last');
更新:
jQuery 1.7不推薦使用的live()方法,而1.9已將其刪除。如果要使用1.9+實(shí)現(xiàn)相同的功能,則需要使用新方法on(),該方法的語(yǔ)法與在文檔對(duì)象上調(diào)用時(shí)的語(yǔ)法略有不同,并且選擇器作為參數(shù)傳遞。因此,從上面轉(zhuǎn)換為這種新的綁定事件方式的代碼將如下所示:
// ON example
$(document).on('mouseover', 'div', doSomething);
// this new appended div WILL HAVE mouseover event handler registered
$('<div/>').appendTo('div:last');
- 3 回答
- 0 關(guān)注
- 469 瀏覽
添加回答
舉報(bào)