- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我开始通过添加一些有用的 prototypes
来扩展 EventTarget
接口(interface),但随后我在 Safari 8 上对其进行了测试并得到:
[Error] ReferenceError: Can't find variable: EventTarget
我在 MDN 上找到了对于 Safari,“window.EventTarget
不存在”。
This question看起来很有趣,但它是关于 IE8 的。
所以,我想知道在 Safari 上是否可以访问对 EventTarget 接口(interface)的引用,或者使用像 EventTarget.prototype.hasEventListener
和 EventTarget.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/
我试图弄清楚点击了哪个按钮,此代码在 IE 中运行良好,但如果我在 Chrome、Firefox 或 Safari 中运行,则它不会执行任何操作。在 firefox 中使用 firebug 时,我查看
如何设置EventTarget一个事件。 var myObj = {foo: 'bar'}; var event = new Event('eventName'); event.target = my
当前版本的 JavaScript 将 EventTarget 实现为类而不是接口(interface),因此您可以使用所有预期方法创建 EventTarget 实例。 我试图复制/粘贴 EventTa
我是 Fable/Elmish/React 的新手,我正在尝试了解转换 EventTarget 的语法,以便我可以访问 .value我能找到的所有例子都使用 input [ Value model.V
使用闭包库,您可以让任何对象能够调度扩展 goog.events.EventTarget 的事件。 .这目前可以使用 Dart 库吗? 我想它看起来像这样: #import('dart:html');
我想在我的客户端程序中创建一个自定义事件发射器。我正在引用此(稀疏)文档 EventTarget 我的实现尝试 var Emitter = function Emitter() { EventTa
我试图让扩展面板仅在点击箭头时展开,但是当我尝试编译它时,此功能 private _isExpansionIndicator(target: EventTarget): boolean { c
当我运行代码时: public onResize(event: Event) { console.log(event.target.innerWidth); //--solution-
我为 WebGL 程序导出了以下 JS 类: export default class MyClass extends EventTarget { constructor(gl) { su
我正在使用 selectionStart和 selectionEnd为了获得文本选择的起点和终点。 代码:https://codesandbox.io/s/busy-gareth-mr04o 但是,我
我已经构建了一个自定义 Input呈现 HTML 的 React 组件(想想包装器)输入元素。输入值时,更改会像这样传递给父组件: const handleChange = (event: Synth
嘿,我是 Typescript 的新手,在实现 Event Target 时遇到了一些问题。 Javascript 中使用的 event.target.matches 的 typescript 等价物
我收到以下关于事件类型的错误。错误:类型“EventTarget”上不存在属性“结果”。 我的.ts文件, select4File(event) { if (event.target.file
我遇到了无法摆脱的 JavaScript 错误:Uncaught TypeError: 无法在“EventTarget”上执行“addEventListener”:作为参数 2 提供的回调不是对象。
每当用户更改其浏览器大小时,我的 Web 应用程序必须自动调整 iframe 标记的大小。因此,最终效果就像一个 google g-mail,其中 gmail 应用程序自动调整包含邮件内容的 ifra
我的 .ts 文件中有一个 Javascript,它一直显示属性“result”在类型“EventTarget”上不存在??? imageUpload() { window.onload = func
如果可能的话,我正在寻找答案,甚至是一个好主意。 通常,作为对 IE8 及更早版本的修复,会使用与此类似的解决方法: var addEvent = function(obj, e, cb) {
我在高级编译模式下遇到错误。 Uncaught TypeError: Object # has no method 'attachEvent' 经过一些 source map 魔法后,我发现这是从 g
我正在尝试(也许是徒劳的)想出一种使用发布-订阅模式的方法,同时a) 使用no 库和b ) 最小化使用它的模块中的样板代码。到目前为止,我想到的最好的是: var handle = document.
当尝试在单击后访问按钮上的数据集时,出现此^错误。 linkProvider = (ev: React.SyntheticEvent) => { console.debug('ev.target'
我是一名优秀的程序员,十分优秀!