Để hoàn thành câu trả lời, dưới đây là các ví dụ thực tế về việc xóa các sự kiện khi bạn đang truy cập các trang web và không có quyền kiểm soát đối với mã HTML và JavaScript được tạo.
Một số trang web gây phiền nhiễu đang ngăn bạn sao chép-dán tên người dùng trên biểu mẫu đăng nhập, điều này có thể dễ dàng bị bỏ qua nếu onpaste
sự kiện được thêm với onpaste="return false"
thuộc tính HTML. Trong trường hợp này, chúng ta chỉ cần nhấp chuột phải vào trường nhập, chọn "Kiểm tra phần tử" trong trình duyệt như Firefox và loại bỏ thuộc tính HTML.
Tuy nhiên, nếu sự kiện được thêm vào thông qua JavaScript như thế này:
document.getElementById("lyca_login_mobile_no").onpaste = function(){return false};
Chúng tôi cũng sẽ phải xóa sự kiện thông qua JavaScript:
document.getElementById("lyca_login_mobile_no").onpaste = null;
Trong ví dụ của tôi, tôi đã sử dụng ID "lyca_login_mobile_no" vì nó là ID nhập văn bản được sử dụng bởi trang web tôi đang truy cập.
Một cách khác để xóa sự kiện (cũng sẽ xóa tất cả các sự kiện) là xóa nút và tạo một nút mới, giống như chúng ta phải làm nếu addEventListener
được sử dụng để thêm sự kiện bằng một hàm ẩn danh mà chúng ta không thể xóa removeEventListener
. Điều này cũng có thể được thực hiện thông qua bảng điều khiển của trình duyệt bằng cách kiểm tra một phần tử, sao chép mã HTML, xóa mã HTML và sau đó dán mã HTML vào cùng một vị trí.
Nó cũng có thể được thực hiện nhanh hơn và tự động thông qua JavaScript:
var oldNode = document.getElementById("lyca_login_mobile_no");
var newNode = oldNode.cloneNode(true);
oldNode.parentNode.insertBefore(newNode, oldNode);
oldNode.parentNode.removeChild(oldNode);
Cập nhật: nếu ứng dụng web được tạo bằng khung JavaScript như Angular, có vẻ như các giải pháp trước đó không hoạt động hoặc phá vỡ ứng dụng. Một giải pháp khác để cho phép dán là đặt giá trị thông qua JavaScript:
document.getElementById("lyca_login_mobile_no").value = "username";
Hiện tại, tôi không biết có cách nào để loại bỏ tất cả các sự kiện hạn chế và xác thực biểu mẫu mà không làm hỏng ứng dụng được viết hoàn toàn bằng JavaScript như Angular hay không.