使用jQuery 檢索分配給元素的事件偵聽器
在JavaScript 中,將事件處理程序附加到元素是增強用戶交互的常見做法。 jQuery 提供了強大的事件處理功能,可輕鬆指派和管理元素上的事件偵聽器。這就提出了一個問題:我們可以使用 jQuery 來擷取綁定到特定元素的事件清單嗎?
問題:
場景:我們有一個帶有ID 的元素" elm”,我們已將兩個事件處理程序附加到此連結- 一個用於按一下事件,另一個用於滑鼠懸停事件。
<a href='#'>
$(function() { $('#elm').click(_f); $('#elm').mouseover(_m); }); function _f(){alert('clicked');} function _m(){alert('mouse over');}
有沒有辦法取得與該元素關聯的所有事件的清單ID為「elm」?
答案:
在最新版本的 jQuery 中,$._data 方法可用於檢索有關元素的信息,包括任何事件綁定到它。值得注意的是 $._data 是一個僅供內部使用的方法。
// Bind up a couple of event handlers $("#foo").on({ click: function(){ alert("Hello") }, mouseout: function(){ alert("World") } }); // Lookup events for this particular Element $._data( $("#foo")[0], "events" );
$._data 將傳回一個包含附加到指定元素的事件的物件。
{ click: [ { handler: function(){ alert("Hello") } // The defined click handler } ], mouseout: [ { handler: function(){ alert("World") } // The defined mouseout handler } ] }
中Chrome,您可以右鍵點擊處理函數並選擇「檢視函數定義」來追蹤其在程式碼中的起源。
以上是如何使用 jQuery 檢索綁定到元素的事件偵聽器清單?的詳細內容。更多資訊請關注PHP中文網其他相關文章!