簡體   English   中英

監視觸發的Javascript事件(與瀏覽器無關)

[英]Monitoring fired Javascript events (regardless of browser)

我知道這個問題之前已經被回答過,但是所有答案都是針對特定於瀏覽器的方法。 我的問題很簡單:是否可以通過Java來監視所有觸發的事件(我需要的信息是觸發的事件和觸發該事件的元素)?

我想到了為所有事件和所有元素設置事件監聽器,但這非常不切實際,並且不適用於定制事件。

有什么可以幫助您的。

您可以使用Objects.observe監視對象

還有一些突變事件監聽器對於某些DOM元素和變異的觀察者

但是,如果您確實需要監視所有事件,則可以重新定義addEvent函數。 我想你需要這個只用於調試和測試的東西,否則就不是一個真正的好的做法要做到這一點。

// The magic 
var oldAddEventListener = EventTarget.prototype.addEventListener;

EventTarget.prototype.addEventListener = function(eventName, eventHandler){
  // DO YOUR MAGIC
  oldAddEventListener.call(this, eventName, function(event) {
      // DO YOUR MAGIC
      eventHandler(event);
  });
};

有關更多信息, 請訪問https://css-tricks.com/capturing-all-events/

暫無
暫無

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

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