为了账号安全,请及时绑定邮箱和手机立即绑定
慕课网数字资源数据库体验端
DOM事件探秘_学习笔记_慕课网
为了账号安全,请及时绑定邮箱和手机立即绑定

DOM事件探秘

Amy
难度中级
时长 2小时57分
  • addEventListener 的第三个参数 一般设为false-事件冒泡,兼容各种浏览器
    查看全部
  • 事件对象 在DOM中和IE中的部分不同之处
    查看全部
  • 事件对象
    查看全部
  • 提示:IE11已经删除废除了attachEvent,可用addEventListener;
    查看全部
  • 事件处理程序
    查看全部
  • 事件处理程序: 1. html处理事件是指直接在html代码里绑定的事件,缺点是html和js代码紧密耦合在一起,结构事件未分离 2. DOM 0级处理程序是指把函数赋值给选中的事件作为其属性,如btn.onclick=null; 3. DOM 2级处理程序有两个方法addEventListener()和removeEventListener()。所有的DOM节点都有这两个方法,第三个参数布尔值为true时表示在捕获阶段调用这个事件处理程序,false表示在冒泡阶段(可以最大限度兼容各种浏览器),如btn.addEventListener('click',function(){},false);(第一个参数不加“on”),addEventListener添加的事件只能通过removeEventListener()删除,添加和删除事件的参数要相同 DOM 0级和DOM 2级可以添加多个事件或事件处理程序,按顺序执行,但是在IE上无效 4. IE事件处理程序有两个方法:attachEvent()和detachEvent(),只有两个参数,没有布尔值的参数。事件处理程序名称需要加上“on”,如btn.attachEvent('onclick',function(){});
    查看全部
  • DOM0级事件处理程序 (用得比较多) 较传统的方式:把一个函数赋值给一个事件处理程序的属性。 优点:简单,跨浏览器的优势 var btn2=document.getElementById("btn2");---先获取出元素,定义对象 //取得btn2按钮对象 btn2.onclick=function(){alert('这是通过DOM0级添加的事件!')}----让 事件以对象的属性 的形式出现。 //给btn2添加onclick属性 btn2.onclick=null;-----删除onclick属性。
    查看全部
  • HTML事件处理程序,现在不建议使用了。 1. 事件直接加在HTML代码中: 缺点:HTML和js代码高耦合,如果修改,就要修改两个地方:HTML元素内和script函数。
    查看全部
  • 使用事件处理程序
    查看全部
  • 通过DOM级添加的事件,只能用DOM二级的方法删除,不能用DOM0级的方法
    查看全部
  • 阻止事件
    查看全部
  • 提示:IE11已经删除废除了attachEvent,可用addEventListener;
    查看全部
  • IE事件处理程序:IE也提供了类似DOM2级事件处理程序 attachEvent()添加事件 detachEvent()删除事件 接收相同的两个参数:事件处理程序的名称和事件处理程序的函数。去掉了布尔值,不使用第三个参数的原因:IE8以及更早的浏览器版本只支持事件冒泡! 在IE下给btn3添加事件 btn3.attachEvent('onclick',showMes); 注意:在IE事件处理程序上,又要把on加上 btn3.detachEvent('onclick',showMes); 支持IE事件处理程序的浏览器主要有IE和Opera两个浏览器。 2.跨浏览器事件处理程序 var eventUtil = { //添加句柄 addHandler:function(element,type,handler){ if(element.addEventListener){element.addEventListener(type,handler,false);} // DOM2级事件处理程序 else if(element.attachEvent){element.attachEvent('on'+type,handler);} // IE事件处理程序 else{element['on'+type]=handler;} // DOM0级事件处理程序 }, //删除句柄 removeHandler:function(element,type,handler){ if(element.removeEventListener){element.removeEventListener(type,handler,false);} // DOM2级事件处理程序 else if(element.detachEvent){element.detachEvent('on'+type,handler);} // IE事件处理程序 else{element['on'+type]=null;} //DOM0级事件处理程序 } } eventUtil.addHandler(btn3,'click',showMessage); 3.js中所有用'.'的地方都可以使用'[]'如:对象的点击事件element.onclick===element['onclick']
    查看全部
  • element.onclick===element['onclick']
    查看全部
  • DOM2级事件处理程序 定义了两个方法--用于处理指定和删除事件处理程序的操作: addEventListener()添加事件监听程序 removeEventListener()移除事件监听程序 三个参数设置;事件名称,处理方法(函数),布尔值--false:表示在冒泡阶段调用事件处理程序(可以最大限度的兼容浏览器),一般设为false;true表示在捕获阶段调用事件处理程序 btn3.addEventListener('click',showMes,false); 注意: 1、若事件名称有on,则需去掉on。onclick --> click,onmouseover --> mouseover等等; 2、false 最大限度兼容所有浏览器--事件冒泡流。 3.通过addEventListener添加的事件只能通过removeEventListener来删除。--参数要与添加事件时相同 btn3.removeEventListener(参数);//参数必须和btn.addEventListener的参数一致,删除事件监听 DOM0级和DOM2级事件处理程序可以给一个事件绑定多个函数,事件触发的时候会按照绑定顺序执行各个函数。如下所示: btn3.addEventListener('click',showMes,false); btn3.addEventListener('click',showMes,function(){alert(this.value);},false); 缺点:IE不支持该事件
    查看全部

举报

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

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