3 回答

TA貢獻1783條經驗 獲得超4個贊
主要區別在于,它live也適用于頁面加載后將創建的元素(即,通過JavaScript代碼),而bind只會綁定當前現有項目的事件處理程序。
// 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+實現相同的功能,則需要使用新方法on(),該方法的語法與在文檔對象上調用時的語法略有不同,并且選擇器作為參數傳遞。因此,從上面轉換為這種新的綁定事件方式的代碼將如下所示:
// ON example
$(document).on('mouseover', 'div', doSomething);
// this new appended div WILL HAVE mouseover event handler registered
$('<div/>').appendTo('div:last');
- 3 回答
- 0 關注
- 475 瀏覽
添加回答
舉報