Чтобы завершить ответы, вот реальные примеры удаления событий, когда вы посещаете веб-сайты и не можете контролировать сгенерированный код HTML и JavaScript.
Некоторые надоедливые веб-сайты мешают вам копировать и вставлять имена пользователей в формы входа, что можно было бы легко обойти, если бы onpaste
событие было добавлено с onpaste="return false"
атрибутом HTML. В этом случае нам просто нужно щелкнуть правой кнопкой мыши в поле ввода, выбрать «Проверить элемент» в браузере, таком как Firefox, и удалить атрибут HTML.
Однако, если событие было добавлено через JavaScript следующим образом:
document.getElementById("lyca_login_mobile_no").onpaste = function(){return false};
Нам также придется удалить событие через JavaScript:
document.getElementById("lyca_login_mobile_no").onpaste = null;
В моем примере я использовал идентификатор lyca_login_mobile_no, поскольку это был идентификатор ввода текста, используемый веб-сайтом, который я посещал.
Другой способ удалить событие (которое также удалит все события) - удалить узел и создать новый, как мы должны сделать, если addEventListener
использовались для добавления событий с использованием анонимной функции, которую мы не можем удалить с помощьюremoveEventListener
. Это также можно сделать через консоль браузера, проверив элемент, скопировав HTML-код, удалив HTML-код и затем вставив HTML-код в то же место.
Это также можно сделать быстрее и автоматизировать с помощью JavaScript:
var oldNode = document.getElementById("lyca_login_mobile_no");
var newNode = oldNode.cloneNode(true);
oldNode.parentNode.insertBefore(newNode, oldNode);
oldNode.parentNode.removeChild(oldNode);
Обновление: если веб-приложение создано с использованием инфраструктуры JavaScript, такой как Angular, похоже, что предыдущие решения не работают или нарушают работу приложения. Другой обходной путь для разрешения вставки - установка значения через JavaScript:
document.getElementById("lyca_login_mobile_no").value = "username";
На данный момент я не знаю, есть ли способ удалить все события проверки и ограничения формы без нарушения работы приложения, полностью написанного на JavaScript, например Angular.