阻止或监听用户在开发者工具中删除事件监听器?
Prevent or Listen for a user removing event listeners in developer tools?
如何阻止或侦听用户在开发人员工具中删除事件侦听器?
这可能吗?
在上面的示例中,当用户删除“事件监听器”时,我想根据该操作进行操作。有事件监听器的事件监听器吗?
const removeEventListenerOriginal = EventTarget.prototype.removeEventListener;
const p = document.querySelector("p");
const onClick = e => console.log("clicked", e.target.tagName);
EventTarget.prototype.removeEventListener = function(...args) {
const [eventType, handler, capture] = args;
console.log(`Event Listener Removed For`, this, {
eventType,
handler,
capture
});
// your logic here
// call the original function or not. its up to you
removeEventListenerOriginal.call(this, ...args);
// or removeEventListenerOriginal.apply(this, args);
}
p.addEventListener("click", onClick);
// try removing the event from dev console
<p>Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo</p>
如何阻止或侦听用户在开发人员工具中删除事件侦听器?
这可能吗?
在上面的示例中,当用户删除“事件监听器”时,我想根据该操作进行操作。有事件监听器的事件监听器吗?
const removeEventListenerOriginal = EventTarget.prototype.removeEventListener;
const p = document.querySelector("p");
const onClick = e => console.log("clicked", e.target.tagName);
EventTarget.prototype.removeEventListener = function(...args) {
const [eventType, handler, capture] = args;
console.log(`Event Listener Removed For`, this, {
eventType,
handler,
capture
});
// your logic here
// call the original function or not. its up to you
removeEventListenerOriginal.call(this, ...args);
// or removeEventListenerOriginal.apply(this, args);
}
p.addEventListener("click", onClick);
// try removing the event from dev console
<p>Sed ut perspiciatis unde omnis iste natus error sit voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo</p>