2.5.3
https://jsbin.com/jafufah/1/edit?html、js、console、output
Chrome(61.0.3163)、場合によってはSafari(11.0.1)でのみ。
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>
要素またはロードするファイルのサイズに固有です。
これはバグではありません。イベントが使用された後、非同期コールバックでイベントが有効であるという保証はありません。 したがって、基本的には、必要なもの(この場合はtarget
)を保存し、イベント変数の代わりにそれを直接使用する必要があります。
@posvaそのステートメントのドキュメントはありますか? 私はあなたが間違っているとは思いません、私はそれを今まで見たり聞いたりしたことがありません。
見つかりませんでした🙁
しかし、Vueなしでここでそれを見ることができます: https :
DOMイベントの存続期間に関するあらゆる種類のドキュメントがある場所を探していましたが、何も見つかりませんでした。 あなたのjsbinは、SOからリンクするための何千もの最高の例になります;)
真剣に、前回この問題が発生したのはTitaniumと呼ばれるハイブリッドVMで、すべての要素がJavaまたはObject-Cのカウンターパーツにマップされており、VMがそれらを未使用と見なすとこれらは消えていました。 ブラウザで表示されるとは思ってもみませんでした。 しかし、今日はその日でした! :tada:💩