gpt4 book ai didi

javascript - AddEventListener IE 11 中调用对象无效

转载 作者:行者123 更新时间:2023-11-28 05:37:06 24 4
gpt4 key购买 nike

我有以下代码片段,我尝试在其中实现 addEventListener 的自定义行为:

var original = Element.prototype.addEventListener;

Element.prototype.addEventListener = function(type, listener, options) {
original(type, listener, options); // throws an error
};

document.body.addEventListener('click', function(){});

该代码在 Chrome 和 Firefox 上可以正常工作,但在 IE 11 下会出现以下错误:“SCRIPT65535:无效的调用对象”。下面的代码实际上可以在 IE 中完成还是我遗漏了一些东西?

最佳答案

这有效:

var original = document.addEventListener;

Element.prototype.addEventListener = function(type, listener, options) {
original.bind(document, type, listener, options)();
};

document.body.addEventListener('click', function(){});

说实话我并不能百分百了解情况,但显然与函数的绑定(bind)有关。我遇到了类似的情况并以类似的方式解决了它。在研究时我遇到了这个SO。抱歉我来晚了一点。 :-)

如果其他人可以准确解释这里发生的事情,那就太好了!

关于javascript - AddEventListener IE 11 中调用对象无效,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39273797/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com