Vue: event.target é nulo no Chrome em img

Criado em 9 nov. 2017  ·  4Comentários  ·  Fonte: vuejs/vue

Versão

2.5.3

Link de reprodução

https://jsbin.com/jafufah/1/edit?html , js, console, saída

Passos para reproduzir

Apenas no Chrome (61.0.3163) e às vezes no Safari (11.0.1).

  1. Abrir link para jsbin
  2. Clique em Executar com JS
  3. Veja que o console primeiro imprime uma referência de event.target e então null para a mesma propriedade.

O que é esperado?

No Firefox, Edge e IE11 o event.target nunca é null .

O que realmente está acontecendo?

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.

Todos 4 comentários

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: 💩

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

paulpflug picture paulpflug  ·  3Comentários

franciscolourenco picture franciscolourenco  ·  3Comentários

Jokcy picture Jokcy  ·  3Comentários

hiendv picture hiendv  ·  3Comentários

bfis picture bfis  ·  3Comentários