美文网首页
DOM事件模型

DOM事件模型

作者: zhenghongmo | 来源:发表于2020-03-13 16:38 被阅读0次

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()//错误
  • 不能同时添加多个onclick事件,后面添加的会覆盖前面添加的
x.onclick = function(){
    console.log(1)
}
x.onclick = function(){
    console.log(2)
}
//最终点击x时会打印出2,因为后一次会覆盖前一次
  1. 关于addEventListener
  • 后一次添加的事件不会覆盖前一次的,会加到前一后面,也就是说可以给同一元素添加多个click事件,每添加一个, 都会进入click的队列里, 然后依次执行,每种事件有各自不同的队列
  • removeEventListener
x.addEventListener('click',function(){
    console.log(1)
})
x.addEventListener('click',function(){
    console.log(2)
})
//会依次打印出1和2

事件捕获和事件冒泡

  • 有以下一段html内容:
<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>
  • 当点击儿子时,f1,f2,f3都会被调用
  • 若第三个参数为true,则调用顺序为f1,f2,f3 ==>事件捕获
  • 若第三个参数不填或者第三个 参数为五个falsy值中的一个,则调用顺序为f3,f2,f1 ==>事件冒泡
  • 一般情况下为先捕获再冒泡
  • 特例:若儿子有两个click事件,一个为true(捕获),一个为false(冒泡),当点击儿子时,儿子上的函数执行顺序会按书写顺序执行,并不会再遵循先捕获再冒泡的规则。
son.addEventListener('click',function f3(){})
son.addEventListener('click',function f4(){},true)
son.addEventListener('click',function f5(){},true)
点击son时,会依次执行f3,f4,f5

相关文章

  • JavaScript--模型、闭包、链

    (1)事件模型JavaScript中有两种时间模型:DOM0,DOM2 DOM0级事件模型是早期的事件模型,所有的...

  • jQuery事件

    第1章 DOM事件模型 DOM 0级 事件模型 input.onclick = function() { ... ...

  • jQuery--事件处理

    jQuery--事件处理 一、事件模型 1.浏览器事件模型①DOM0级事件模型:只支持一个DOM事件处理函数• ...

  • DOM的事件模型中addEventListener的第三个参数

    DOM的事件模型这里只讨论主流浏览器的DOM标准事件处理模型 什么是DOM事件模型 本人在初次接触时,大致学习了D...

  • 前端面试题(3)——DOM事件类

    基本概念:DOM事件的级别 DOM事件模型:事件冒泡事件捕获 DOM事件流 描述DOM事件捕获的具体流程 Even...

  • jQuery--事件处理

    一、事件模型 1.浏览器事件模型 ①DOM0级事件模型:只支持一个DOM事件处理函数• • input.onc...

  • Dom事件

    Dom事件的级别Dom事件模型(冒泡+捕获)Dom事件流 http://www.cnblogs.com/staro...

  • Dom事件

    基本概念 Dom事件级别 Dom事件模型 Dom事件流 描述Dom事件捕获的具体流程 Event对象的常见应用 自...

  • 3-6 DOM事件

    问题 DOM 事件的级别 DOM 事件模型(就是捕获和冒泡儿) DOM 事件流 描述DOM事件捕获的具体流程 Ev...

  • DOM事件类

    基本概念:DOM事件的级别 DOM事件模型 DOM事件流 描述DOM事件捕获的具体流 Event对象的常见应用 自...

网友评论

      本文标题:DOM事件模型

      本文链接:https://www.haomeiwen.com/subject/rnoujhtx.html