jQuery 1.9版本之后,官方棄用了live方法,改為使用on方法。這是因為live方法存在一些性能問題,而且在該方法被調用的頁面上添加或刪除元素時,事件處理器也不能正常工作。
on方法的語法如下:
$(selector).on(event, childSelector, data, handler);
其中,第一個參數event是事件類型,比如"click"或"mouseenter"等;第二個參數childSelector是代理元素選擇器,可以為null;第三個參數data是傳遞給事件處理器的數據,也可以為null;第四個參數handler是事件處理函數。
示例代碼:
$(document).on("click", "button", function(){ alert("點擊了按鈕"); });
上述代碼中,事件處理器將在文檔上監聽所有button元素的點擊事件,包括后面新添加的button元素。使用on方法可以解決live方法存在的問題,且效率更高。建議在項目中使用on方法。