gpt4 book ai didi

javascript - Safari 中的 EventTarget 接口(interface)

转载 作者:搜寻专家 更新时间:2023-11-01 04:14:46 24 4
gpt4 key购买 nike

我开始通过添加一些有用的 prototypes 来扩展 EventTarget 接口(interface),但随后我在 Safari 8 上对其进行了测试并得到:

[Error] ReferenceError: Can't find variable: EventTarget

我在 MDN 上找到了对于 Safari,window.EventTarget 不存在”

This question看起来很有趣,但它是关于 IE8 的。

所以,我想知道在 Safari 上是否可以访问对 EventTarget 接口(interface)的引用,或者使用像 EventTarget.prototype.hasEventListenerEventTarget.prototype.hasEventListener 在 Safari 上没有任何错误?

编辑我发现了一个有趣的 commit它说它是在 09/12/15 实现的(从时间戳开始),但它肯定在 Safari 9.1 中不起作用

最佳答案

解决方法:

我只是使用了 Element interface作为 Safari 的后备

var EventTarget = EventTarget || Element;
EventTarget.prototype.addEventListener = function(){/*Some magic here*/};

我还检查了 Element 从 EventTarget 接口(interface)继承了 prototypes 并且确实如此! (document.body.addEventListener == EventTarget.prototype.addEventListener 返回 true)

关于javascript - Safari 中的 EventTarget 接口(interface),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36675693/

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