Sé que Google Chrome tiene la función getEventListeners() solo disponible cuando las herramientas de desarrollo están abiertas. De hecho, tengo bastante curiosidad, ¿hay alguna función similar a esta?
Si no, ¿qué otras opciones tengo para enumerar todos los detectores de eventos en un elemento dado?
Mi objetivo es crear una función que repita todos los detectores de eventos en un elemento y lo elimine.
Así es como pude hacerlo en Chrome Dev Tools
function removeAllListeners(elementSelector){ Array.from(document.querySelectorAll(elementSelector)).forEach(element => { const events = getEventListeners(element) if (Object.keys(events).length !== 0) { var clickEvents = events['click']; for (let i = 0; i < clickEvents.length; i++) { element.removeEventListener('click', clickEvents[i].listener); } } }) } Ejemplo de uso: removeAllListeners('.myClassName')
Me gustaría poder realizar la tarea mencionada anteriormente en un archivo .js que se carga mediante el uso de la etiqueta <script src=""></script> .