New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
event.target is null in Chrome on img #7027
Comments
it's not a bug: you have no guarantee for the event to be valid in an asynchronous callback after it is used. So basically you have to save whatever you need, in your case, |
@posva Do you have any documentation for that statement? I don't think you're wrong, I just have never seen or heard that before. |
I couldn't find it 🙁 |
I was searching for somewhere that have any kind of documentation of DOM events life-span but found nothing. Your jsbin will be the crown example for thousands, to link to from SO ;) Seriously, last time I had this issue was in a hybrid VM called Titanium, where all elements mapped to Java or Object-C counter parts and these would disappear if the VM deemed them unused. I never thought I would see it in a browser. But today was the day! 🎉 💩 |
Solution is to use the native
|
@schmoove I'm not sure that is relevant to the issue here. The issue being that a reference to ev => {
const event = ev // ev.target : HTMLElement
setTimeout(() => {
console.log(ev.target) // <- null
}, 0)
} Regardless of how you obtain the reference ( ev => {
const t= ev.target // ev.target : HTMLElement
setTimeout(() => {
console.log(t) // <- HTMLElement
}, 0)
} |
did you solve this problem? |
Version
2.5.3
Reproduction link
https://jsbin.com/jafufah/1/edit?html,js,console,output
Steps to reproduce
Only in Chrome (61.0.3163) and sometimes Safari (11.0.1).
event.target
and then null for the same property.What is expected?
In Firefox, Edge and IE11 the
event.target
is nevernull
.What is actually happening?
event.target
isnull
if event is stored in variable until next tick.I'm not sure if this is a bug in Vue.js or in Chrome but I thought more eyes on the matter will help to clarify.
I first saw this inside a nuxt.js application but it's easy to reproduce in just vue.js, so I guess it's either in vue core or in Chrome (blink/webkit).
I've done the same with an
<object>
load handler and this has never happen - it's specific to the<img>
element or the size of the file to load.The text was updated successfully, but these errors were encountered: