为了账号安全,请及时绑定邮箱和手机立即绑定
  • 1.事件冒泡:事件由子元素获取并沿DOM树向上传播 2.事件捕获:事件由根元素获取并沿DOM树向下分发
    查看全部
    0 采集 收起 来源:[DOM] 事件捕获

    2017-02-23

  • 本章内容 1、理解事件流 2、使用事件处理程序 3、不同的事件类型 一、事件流 事件是文档或浏览器窗口中发生的特定的交互瞬间。【JavaScript <------>HTML】 事件流:描述的是从页面中接受事件的顺序 (IE:事件冒泡流 / Netscape事件捕获流) 事件冒泡流:即事件最开始由最具体的无素(文档中嵌套层次最深的那个节点)接收,然后逐级向上传播到最不具体的那个节点(文档) input----->document 事件流描述的是从页面中接受事件的顺序。 IE的事件流是事件冒泡流,而Netscape的事件流是事件捕获流 1、事件冒泡 事件冒泡,即事件最开始由最具体的元素(文档中嵌套层次最深的那个节点)接收,然后逐级向上转播至最不具体的节点(文档)。 2、事件捕获 事件捕获的思想是不太具体的节点应该更早接收到事件,而最具体的节点最后接收到事件。 二、事件处理程序 1、HTML事件处理程序 2、DOM0级事件处理程序 3、DOM2级事件处理程序 DOM2级事件定义了两个方法:用于处理指定和删除事件处理程序的操作:addEventListener()和removeEventListener()。它们都接收三个参数:要处理的事件名、作为事件处理程序的函数和一个布尔值。 4、IE事件处理程序 attachEvent()添加事件 detachEvent()删除事件 这两个方法接收相同的两个参数:事件处理程序名称与事件处理函数 5、跨浏览器的事件处理程序 三、事件对象 事件对象event 1、DOM中的事件对象 (1)、type:获取事件类型 (2)、target:事件目标 (3)、stopPropagation() 阻止事件冒泡 (4)、preventDefault() 阻止事件的默认行为 2、IE中的事件对象 (1)、type:获取事件类型 (2)、srcElement:事件目标 (3)、cancelBubble=true阻止事件冒泡 (4)、returnValue=false阻止事件的默认行为
    查看全部
    0 采集 收起 来源:[DOM] 事件冒泡

    2018-03-22

  • IE8以前的浏览器只支持事件冒泡,不支持事件捕获,它也不支持addEventListener函数,不会用第三个参数来表示是冒泡还是捕获,它提供了另一个函数attachEvent。IE9就支持addEventListener(这段是借鉴其他问题别的同学的回答)。 addEventListener()的第三个参数useCapture,这个参数决定要使用的事件处理程序的调用类型,只有在特定狀況下才会对事件产生影响,通常建议用false; 如果参数是true,事件处理程序以捕捉模式触发;从顶层的父节点开始触发事件,从外到内传播。 如果参数是false,事件处理程序以冒泡模式触发;从最内层的节点开始触发事件,逐级冒泡直到顶层节点,从内向外传播。
    查看全部
  • 1、DOM0级和DOM2级的共同优点: 能添加多个事件处理程序,按顺序执行,HTML事件处理程序无法做到~ 2、关于dom0级和dom2级的区别 DOM0级事件处理:同时绑定几个不同的事件,例如在绑定onclick的基础上再绑定一个onmouseover为按钮2设置背景颜色(这里注意不能onclick、onmouseover事件都设为alert弹出哦,可能有冲突,dom0和dom2都不能成功);但是不能同时绑定多个相同的事件,比如onclick;会覆盖,只会执行最后一个的函数; DOM2级事件处理:优点:同时绑定几个事件(相同或不同),然后顺序执行,不会覆盖。缺点:不具有跨浏览器优势。
    查看全部
  • DOM事件对象
    查看全部
  • IE事件处理程序 attachEvent()添加事件 detachEvent()删除事件 接受相同的两个参数:事件处理程序的名称和事件处理程序的函数 不使用第三个参数:IE8以及更早的浏览器版本只支持事件冒泡 例子: btn.attachEvent('onclick',showMes); btn.detachEvent('onclick',showMes);//事件不用去除on 注:element.onclick===element['onclick'];
    查看全部
  • DOM2级事件处理程序 两个方法:用于处理指定和删除事件处理程序的 ——addEventListener()和removeEventListener() 接受三个参数:要处理的事件名,作为事件处理程序的函数和布尔值(默认flase事件冒泡) 例子:btn.addEventListener('click',showMes,false);//事件名前面的on要去掉 btn.removeEventListener('click',showMes,false);//参数要求和添加方法一样 注:共同优点:DOM0和DOM2都可以同时添加多个事件,都是顺序执行 不同点: DOM0同时绑定几个不同的事件 | DOM2同时绑定几个事件(相同或不同); DOM2无法跨浏览器,IE9可以兼容DOM2。 this可以引用html元素(引用btn)。
    查看全部
  • DOM0级事件处理程序 传统方式:把一个函数赋值给一个事件的处理程序属性 var btn=document.getElementById('btn'); btn.onclick=function(){ alert('这是通过DOM0级添加的事件'); } btn.onclick=null;//删除DOM0事件
    查看全部
  • HTML事件处理程序 onclick="alert('hello')"
    查看全部
  • 事件对象
    查看全部
  • element.onclick===element["onclick"]
    查看全部
  • ie事件处理程序 attachEvent()添加事件 detachEvent()删除事件
    查看全部
  • 通过addEventListener添加的事件只能通过removeEventListener移除
    查看全部
  • 跨浏览器事件对象
    查看全部
  • function 方法名(event){ event = event || window.event; var ele = event.target || event.srcElement; alert(ele); } }
    查看全部

举报

0/150
提交
取消
课程须知
1.你一定对HTML+CSS比较熟悉; 2.掌握一定的JS基础知识,尤其是函数封装、调用等知识。
老师告诉你能学到什么?
DOM事件具体相关知识,DOM事件的使用方法及应用!

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!