イベントのバッファリングとキャプチャ
9841 ワード
1.泡
バブルの原理
要素が
<form onClick="alert('form')">
form
<div onClick="alert('div')">
div
<p onClick="alert('p')">p</p>
</div>
</form>
event.target
<form>
form
<div>
div
<p>p</p>
</div>
</form>
<script>
document.querySelector('form').addEventListener('click', function(event) {
alert(`target => ${event.target.tagName}, this => ${this.tagName}`)
})
</script>
発泡を止める
<div onCLick="alert('div')">
<p onClick="event.stopPropagation()">p</p>
</div>
stopPropagation vs preventDefault
2.キャプチャ
スクリーンショットとは?
キャプチャ・ステップを使用する場合は一般的ではなく、キャプチャに関するコードはほとんど見つかりません.
<div>
div
<p>p</p>
</div>
<script>
for(let elem of document.querySelectorAll('*')) {
elem.addEventListener("click", e => alert(elem.tagName), true);
}
</script>
🙌 リファレンスサイト
Reference
この問題について(イベントのバッファリングとキャプチャ), 我々は、より多くの情報をここで見つけました https://velog.io/@hys0630/이벤트-버블링과-캡처링テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol