2.5.3
https://jsbin.com/jafufah/1/edit?html , js, console, saída
Apenas no Chrome (61.0.3163) e às vezes no Safari (11.0.1).
event.target
e então null para a mesma propriedade.No Firefox, Edge e IE11 o event.target
nunca é null
.
event.target
é null
se o evento for armazenado na variável até o próximo tique .
Não tenho certeza se isso é um bug no Vue.js ou no Chrome, mas achei que mais olhos no assunto ajudariam a esclarecer.
Vi isso pela primeira vez dentro de um aplicativo nuxt.js, mas é fácil de reproduzir apenas em vue.js, então acho que é in vue core ou no Chrome (blink / webkit).
Fiz o mesmo com um manipulador de carga <object>
e isso nunca aconteceu - é específico para o elemento <img>
ou o tamanho do arquivo a ser carregado.
não é um bug: você não tem garantia de que o evento seja válido em um retorno de chamada assíncrono após ser usado. Então, basicamente você tem que salvar o que você precisa, no seu caso, target
, e usar isso em vez da variável de evento diretamente
@posva Você tem alguma documentação para essa declaração? Não acho que você esteja errado, só nunca vi ou ouvi isso antes.
Não consegui encontrar 🙁
Mas, você pode ver aqui, sem Vue: https://jsbin.com/danuxohoga/1/edit?html , js, console, saída
Eu estava procurando por um lugar que tivesse qualquer tipo de documentação de duração de eventos DOM, mas não encontrei nada. Seu jsbin será o exemplo de coroa para milhares de pessoas, para fazer um link de SO;)
Sério, a última vez que tive esse problema foi em uma VM híbrida chamada Titanium, onde todos os elementos mapeados para contrapartes Java ou Object-C e estes desapareceriam se a VM considerasse que não eram usados. Nunca pensei que veria isso em um navegador. Mas hoje foi o dia! : tada: 💩