您需要先安装一个扩展,例如 篡改猴、Greasemonkey 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 暴力猴,之后才能安装此脚本。
您需要先安装一个扩展,例如 篡改猴 或 Userscripts ,之后才能安装此脚本。
您需要先安装一款用户脚本管理器扩展,例如 Tampermonkey,才能安装此脚本。
您需要先安装用户脚本管理器扩展后才能安装此脚本。
Adds a method to elements to get their event listeners
当前为
- // ==UserScript==
- // @name Event Listeners list
- // @description Adds a method to elements to get their event listeners
- // @version 1.0.1
- // @grant none
- // @match *://*/*
- // @license MIT
- // @run-at document-start
- // @namespace https://greasyfork.org/users/223733
- // ==/UserScript==
- function main() {
- var _addEventListener = Element.prototype.addEventListener;
- var _removeEventListener = Element.prototype.removeEventListener;
- Element.prototype.listEventListeners = function(name) {
- if (!name) return this._eventsList || {};
- if (!this._eventsList) return []
- return this._eventsList[name] || [];
- };
- Element.prototype.addEventListener = function(name, callback) {
- _addEventListener.bind(this)(name, callback);
- if (!this._eventsList) this._eventsList = {};
- if (!this._eventsList[name]) this._eventsList[name] = [];
- this._eventsList[name].push(callback);
- };
- Element.prototype.removeEventListener = function(name, callback) {
- _removeEventListener.bind(this)(name, callback);
- if (!this._eventsList) return;
- if (!this._eventsList[name]) return;
- this._eventsList[name].splice(this._eventsList[name].indexOf(callback), 1);
- };
- }
- var script = document.createElement('script');
- script.appendChild(document.createTextNode('('+ main +')();'));
- (document.body || document.head || document.documentElement).appendChild(script);