Vue: event.target имеет значение null в Chrome на img

Созданный на 9 нояб. 2017  ·  4Комментарии  ·  Источник: vuejs/vue

Версия

2.5.3

Ссылка для воспроизведения

https://jsbin.com/jafufah/1/edit?html , js, консоль, вывод

Действия по воспроизведению

Только в Chrome (61.0.3163) и иногда в Safari (11.0.1).

  1. Открыть ссылку на jsbin
  2. Нажмите " Выполнить с JS".
  3. Обратите внимание, что консоль сначала выводит ссылку на event.target а затем на значение null для того же свойства.

Что ожидается?

В Firefox, Edge и IE11 event.target никогда не будет null .

Что на самом деле происходит?

event.target равно null если событие сохраняется в переменной до следующего тика .


Я не уверен, является ли это ошибкой в ​​Vue.js или в Chrome, но я подумал, что больше взглядов на этот вопрос поможет прояснить ситуацию.

Впервые я увидел это в приложении nuxt.js, но его легко воспроизвести только в vue.js, так что я думаю, это либо в ядре vue, либо в Chrome (blink / webkit).

Я проделал то же самое с обработчиком загрузки <object> и этого никогда не происходило - это зависит от элемента <img> или размера загружаемого файла.

Все 4 Комментарий

это не ошибка: у вас нет гарантии, что событие будет действительным в асинхронном обратном вызове после его использования. Итак, в основном вам нужно сохранить все, что вам нужно, в вашем случае target , и напрямую использовать это вместо переменной события.

@posva У вас есть документация по этому

Я не смог его найти 🙁
Но вы можете увидеть это здесь, без Vue: https://jsbin.com/danuxohoga/1/edit?html , js, console, output

Я искал где-то, где есть какая-либо документация о продолжительности жизни событий DOM, но ничего не нашел. Ваш jsbin будет примером короны для тысяч, на который можно ссылаться из SO;)

Серьезно, последний раз у меня была эта проблема в гибридной виртуальной машине под названием Titanium, где все элементы были сопоставлены с частями Java или Object-C, и они исчезали, если виртуальная машина сочла их неиспользуемыми. Никогда не думал, что увижу это в браузере. Но сегодня был день! : тада: 💩

Была ли эта страница полезной?
0 / 5 - 0 рейтинги

Смежные вопросы

seemsindie picture seemsindie  ·  3Комментарии

franciscolourenco picture franciscolourenco  ·  3Комментарии

finico picture finico  ·  3Комментарии

aviggngyv picture aviggngyv  ·  3Комментарии

hiendv picture hiendv  ·  3Комментарии