Vue: img 上 Chrome 中的 event.target 为 null

创建于 2017-11-09  ·  4评论  ·  资料来源: vuejs/vue

版本

2.5.3

转载链接

https://jsbin.com/jafufah/1/edit?html ,js,console,output

重现步骤

仅在 Chrome (61.0.3163) 中,有时在 Safari (11.0.1) 中。

  1. 打开jsbin链接
  2. 单击使用 JS 运行
  3. 看到控制台首先打印event.target的引用,然后为同一属性打印 null。

什么是预期?

在 Firefox、Edge 和 IE11 中, event.target永远不会是null

实际发生了什么?

event.targetnull如果 event 存储在变量中直到下一个 tick


我不确定这是 Vue.js 还是 Chrome 中的错误,但我认为更多关注此事将有助于澄清。

我第一次在 nuxt.js 应用程序中看到这个,但它很容易在 vue.js 中重现,所以我猜它要么在 vue core 中,要么在 Chrome (blink/webkit) 中。

我对<object>加载处理程序做了同样的事情,这从未发生过 - 它特定于<img>元素或要加载的文件大小。

所有4条评论

这不是错误:您无法保证事件在使用后在异步回调中有效。 所以基本上你必须保存你需要的任何东西,在你的情况下, target ,并直接使用它而不是事件变量

@posva您有该声明的任何文档吗? 我不认为你错了,我只是以前从未见过或听说过。

我没找到🙁
但是,你可以在这里看到它,没有 Vue: https ://jsbin.com/danuxohoga/1/edit?

我正在寻找有任何类型的 DOM 事件生命周期文档的地方,但一无所获。 您的 jsbin 将成为成千上万的王冠示例,从 SO 链接到 ;)

说真的,上次我遇到这个问题是在一个名为 Titanium 的混合 VM 中,其中所有元素都映射到 Java 或 Object-C 计数器部分,如果 VM 认为它们未使用,这些元素就会消失。 我从没想过我会在浏览器中看到它。 但今天就是这一天! :tada: 💩

此页面是否有帮助?
0 / 5 - 0 等级

相关问题

Jokcy picture Jokcy  ·  3评论

franciscolourenco picture franciscolourenco  ·  3评论

robertleeplummerjr picture robertleeplummerjr  ·  3评论

hiendv picture hiendv  ·  3评论

aviggngyv picture aviggngyv  ·  3评论