Подтвердить что ты не робот

Использовать инспектор веб-браузера Chrome для удаления прослушивателя событий

Я знаю, что вы можете видеть слушателей событий в Chrome Inspector, но я занимаюсь некоторой отладкой, и вокруг меня так много прослушивателей событий. Я бы отключил некоторые из них, не редактируя код

enter image description here

Есть ли способ быстро отключить прослушиватель событий от инспектора Webkit?

Возможно, посмотрите и введите код в консоль на removeEventListener прослушиватель? Как мне это сделать? Например, как я мог бы удалить прослушиватель 'click' выше

4b9b3361

Ответ 1

Извините, вам не повезло (по крайней мере, на данный момент.) removeEventListener требуется точный объект-объект-слушатель в качестве аргумента, а DevTools не позволят вам каким-либо образом захватить функцию слушателя.

Если вам определенно нужна эта функция, напишите ошибку http://new.crbug.com (против Chrome) или http://bugs.webkit.org (предпочтительнее использовать WebKit).

Ответ 2

Вы можете использовать getEventListeners(element).click[index].listener для получения ссылки на слушателя (в консоли WebKit).

Итак, чтобы удалить первый прослушиватель, вы можете сделать:

document.removeEventListener('click', getEventListeners(document).click[0].listener)

Аналогично, чтобы удалить всех слушателей, вы можете использовать эту функцию:

function removeEventListeners(element, listenerMap) {
    Object.keys(listenerMap).forEach(function (name) {
        var listeners = listenerMap[name];
        listeners.forEach(function (object) {
            element.removeEventListener(name, object.listener);
        });
    });
}

removeEventListeners(document, getEventListeners(document))

Ответ 3

Вы можете удалить прослушиватель событий в консоли javascript. Сначала найдите элемент, к которому подключен этот прослушиватель событий. Позвольте называть его e. Затем вы выполняете: e.onclick=null. Например, многие слушатели событий привязаны к "телу", тогда приведенный выше код становится: document.body.onclick=null. После этого прослушиватель событий удаляется.

Ответ 4

Просто:

getEventListeners(document).click[0].remove()

Это также работает с другими элементами:

getEventListeners($('#submit-button')[0]).click[0].remove()

И другие типы событий:

getEventListeners($('#login-form')[0]).submit[0].remove()