怎样移除addeventlistener绑定的匿名函数?百度了半天,没有b...
addeventlistener绑定的匿名函数,怎么移除,百度了半天,没有找到方法![捕获.PNG](data/attachment/forum/202204/23/093954kqsdq6cazoo5do65.png)![捕获1.PNG](data/attachment/forum/202204/23/094001uz90iisqyypdbzc7.png)
求教 本帖最后由 cxxjackie 于 2022-4-24 12:14 编辑
两种思路,一种是阻止所有visibilitychange事件的触发:
document.addEventListener('visibilitychange', e => e.stopImmediatePropagation(), true);
如果需要保留其他visibilitychange事件,就只能在document-start阶段劫持addEventListener了:
const _addEventListener = EventTarget.prototype.addEventListener;
EventTarget.prototype.addEventListener = function(type, listener) {
if (this === document && type === 'visibilitychange')) {
if (listener.toString().includes('document.visibilityState')) { //字符串可以视情况调整
return;
}
}
return _addEventListener.apply(this, arguments);
}
页:
[1]