Щоб завершити відповіді, ось реальні приклади видалення подій, коли ви відвідуєте веб-сайти і не контролюєте згенерований код 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.