jQuery 的 on() 方法是為指定的元素添加事件處理程序的方法,也是 jQuery 中常用的事件綁定方法之一。它可以用于所有可被選擇的元素,如元素對象、DOM 對象、HTML標記等等。on() 方法可以接受一個或多個事件類型,并且可以直接添加一個回調函數,來處理事件的觸發和處理。
// 一般用法 $(selector).on(event, function(){ // 執行相關動作 }); // 綁定多個事件 $(selector).on({ mouseenter: function(){ // 鼠標進入事件 }, mouseleave: function(){ // 鼠標離開事件 }, click: function(){ // 點擊事件 } }); // 代理綁定 $(selector).on(event, childSelector, function(){ // 執行相關動作 }); // 代碼示例 $(document).on("click", "button", function(){ alert("按鈕點擊了!"); });
on() 方法還支持事件代理,可以通過代理方式實現對動態生成的元素的點擊事件監聽,比如:
// 代碼示例 $(document).on("click", "button", function(){ alert("按鈕點擊了!"); });
這個例子實現了對 所有 文檔中添加的 button 元素的點擊事件監聽。當我們使用代理方式時,可以在 document 上綁定事件,而不是直接在 button 元素上綁定事件。這就意味著在 button 元素加載之前需要執行的代碼只需要在文檔加載完畢后執行,就可以保證元素不會被錯過,減少性能消耗,提升用戶體驗。