簡體   English   中英

找出點擊時觸發的 Javascript 函數

[英]Find out which Javascript function is fired on click

有沒有辦法通過單擊某個按鈕來找出哪個 Javascript 函數被觸發?

讓我解釋 ...
我有一個帶有大型js腳本的網頁(不是我自己制作的),我要檢測特定按鈕觸發了哪個功能,我需要找到這個按鈕觸發的功能。

使用 Chrome 的 Web Inspector 檢查元素並查看Event Listeners面板。

Web 檢查器示例

如果附加事件的代碼在庫中(例如,在我的示例中由 Zepto 提供),請在該行上設置一個斷點並檢查調用堆棧以查看它在代碼中的位置。

調用堆棧示例

如您所見,該事件起源於我的代碼,現在我知道文件名和行號。

在您的函數中,您可以放置arguments.callee來了解它。 請注意,這已被棄用,但應告訴您要查找的內容。

alert(arguments.callee);

在 Google Chrome 中,打開您感興趣的網頁。

右鍵單擊要檢查的元素(即按鈕)。 在出現的“上下文菜單”中,單擊“檢查”。 將出現一個“開發者工具”窗口。

  1. 單擊“元素”選項卡。
  2. 如果尚未選擇,請單擊要檢查的 HTML 元素。
  3. 單擊“事件偵聽器”選項卡。 將顯示完整的聽眾列表。
  4. 選擇您感興趣的事件偵聽器。即“單擊”。 將顯示調用堆棧。
  5. 單擊調用堆棧中的最后一項。 這最終會將您重定向到在事件觸發時執行的實際函數。

谷歌瀏覽器 - 檢查選項

谷歌瀏覽器 - 開發者工具窗口

為什么不使用Stack Trace for JavaScript ,即 stacktrace.js

轉到上面的鏈接,單擊Bookmarklet並在您要檢查的任何站點上加載 js 文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM