我從庫的頁面上有一個可自定義的表單元素。 我想查看與之交互時觸發了哪些javascript事件,由於我試圖找出要使用的事件處理程序。 javascript
如何使用Chrome Web Developer作到這一點? java
一樣,您能夠右鍵單擊目標元素->選擇「檢查元素」。在開發框架的右側向下滾動,底部是「事件偵聽器」。 展開樹以查看將哪些事件附加到元素。 不知道這是否適用於經過冒泡處理的事件(我猜不是) jquery
若是它是一個jquery插件,則不會顯示您的腳本可能建立的自定義事件。 例如 : 框架
jQuery(function($){ var ThingName="Something"; $("body a").live('click', function(Event){ var $this = $(Event.target); $this.trigger(ThingName + ":custom-event-one"); }); $.on(ThingName + ":custom-event-one", function(Event){ console.log(ThingName, "Fired Custom Event: 1", Event); }) });
Chrome開發人員工具中「腳本」下的「事件面板」不會顯示「 Something:custom-event-one」 jquery插件
您能夠使用monitorEvents函數。 函數
只需檢查您的元素( right mouse click
→ Inspect
可見元素,或轉到Chrome開發者工具中的「 Elements
標籤並選擇所需的元素),而後轉到「 Console
標籤並輸入: 工具
monitorEvents($0)
如今,當您將鼠標移到該元素上,進行焦點或單擊時,將觸發事件的名稱及其數據。 開發工具
要中止獲取此數據,只需將其寫入控制檯: this
unmonitorEvents($0)
$0
只是Chrome開發者工具選擇的最後一個DOM元素。 您能夠在那裏傳遞任何其餘DOM對象(例如getElementById
或querySelector
結果)。 spa
您還能夠將事件「類型」指定爲第二個參數,以將監視的事件縮小到某個預約義的集合。 例如:
monitorEvents(document.body, 'mouse')
這些可用類型的列表在這裏 。
我作了一個小gif,說明了此功能的工做原理:
Visual Event是一個不錯的小書籤,可用於查看元素的事件處理程序。 在線演示能夠在這裏查看。
對於jQuery(至少是1.11.2版),如下過程對我有用。
$._data(($0), 'events');
在「控制檯」中 handler:
值。 如今是時候中止從新發明輪子了,開始使用原始JS事件... :)