DOM事件模型

2020-03-13  本文已影响0人  zhenghongmo

onclick和addEventListener

  1. 关于onclick
function print(){}
<button id="x" onclick="print">A</button>//错误
<button id="y" onclick="print()">B</button>//正确
x.onclick = print//正确
x.onclick = print()//错误
x.onclick = function(){
    console.log(1)
}
x.onclick = function(){
    console.log(2)
}
//最终点击x时会打印出2,因为后一次会覆盖前一次
  1. 关于addEventListener
x.addEventListener('click',function(){
    console.log(1)
})
x.addEventListener('click',function(){
    console.log(2)
})
//会依次打印出1和2

事件捕获和事件冒泡

<div id="grand">
爷爷
    <div id="parent">
    爸爸
        <div id="son">
        儿子
        </div>
    </div>
</div>

//script
<script>
    grand.addEventListener('click',function f1(){},第三个参数)
    parent.addEventListener('click',function f2(){},第三个参数)
    son.addEventListener('click',function f3(){},第三个参数)
</script>
son.addEventListener('click',function f3(){})
son.addEventListener('click',function f4(){},true)
son.addEventListener('click',function f5(){},true)
点击son时,会依次执行f3,f4,f5
上一篇 下一篇

猜你喜欢

热点阅读