How to list all registered events of a DOM node using JavaScript?

前端 未结 7 2756
臣服心动
臣服心动 2021-02-19 16:50

I can add or remove an event handler for a DOM node. Is it possible to find out all the registered events handlers of a given DOM node? I am referring to straight Javascript mea

相关标签:
7条回答
  • 2021-02-19 17:25

    I faced the same problem, landed here, and didn't find an useful answer.

    In case you can execute script before addEventListener calls from other parties, you might do something really dirty like:

    var obj = something; // Your DOM element you want to watch
    
    var beforeAddEvent = obj.addEventListener;
    obj.addEventListener = function() {
      // Do something with arguments here (like storing in an array)
      // arguments[0]: event name
      // arguments[1]: Listener function
      // arguments[3]: eventual options passed
    
      // If you don't call this, the event listener won't even be attached, it might be also useful in some case
      beforeAddEvent.apply(obj, arguments);
    };
    
    0 讨论(0)
提交回复
热议问题