created
ライフサイクルメソッド内で、$el
の外部にあるクリックをキャプチャするライフサイクルメソッドがドキュメントに追加されるVue
コンポーネントがあります。これを呼びましょうPopup
Vueコンポーネント内のDOMElement.addEventListenerを使用して先行するイベントをキャプチャしています
上記のPopup
を呼び出す要素をクリックすると、すぐに文書のクリックイベントが取り込まれます。ここで
は単純化されたコードでjsfiddleです:https://jsfiddle.net/awei01/5vuqjcxd/
そして、対照的に、ここでは正確にクリックイベントバインドjsの純粋なバージョンです:クロスリファレンスとしてhttps://jsfiddle.net/awei01/qzqku0w9/
が、ここではVUEのフォーラムがあります投稿:https://forum.vuejs.org/t/document-addeventlistener-captures-a-click-preceding-listeners-creation/11558
すべての洞察が認められます。
'setTimeout'を使って問題を解決する方法をもっと明示的に説明してください。 – thanksd