xxxgitone / learningProcess

:boom: 本仓库用于记录我的学习历程和学习笔记
33 stars 18 forks source link

event.stopImmediatePropagation()方法 #16

Open xxxgitone opened 7 years ago

xxxgitone commented 7 years ago
event.stopImmediatePropagation()

这个方法和event.stopPropagation()类似,该方法一般用于当有多个事件绑定在同一个元素的时候

如果某个元素有多个相同类型事件的事件监听函数,则当该类型的事件触发时,多个事件监听函数将按照顺序依次执行.

如果某个监听函数执行了 event.stopImmediatePropagation()方法,则除了该事件的冒泡行为被阻止之外(event.stopPropagation方法的作用),该元素绑定的后序相同类型事件的监听函数的执行也将被阻止.

<div>
    <button type="button">按钮</button>
</div>
 document.querySelector('button').addEventListener('click', function(e) {
       console.log('button click1')
      e.stopImmediatePropagation()
})

document.querySelector('button').addEventListener('click', function() {
    console.log('button click2')
})

document.querySelector('div').addEventListener('click', function() {
    console.log('div click')
})

// button click1