5.29-14

DOM事件探秘(能力检测:通过代码检测浏览器能支持哪一种就用对应的哪一种)

事件流分为两种:事件冒泡、事件捕获。
事件冒泡:事件最开始由最具体的元素接收(文档中嵌套最深的节点),逐级向上传送到最不具体的节点(文档)。
事件捕获:事件最开始由不太具体的节点接收(文档),逐级向内直到最具体的节点接收时间。

1、HTML事件处理程序:在HTML代码中嵌套CSS、JS代码。

缺点:HTML与JS耦合度比较高,不容易修改,及后期维护。

2、DOM0级事件处理事件 DOM2级事件处理事件

优点:DOM 0与DOM 2 是可以给元素节点添加多可事件。

事件处理程序

注意:通过DOM 0级添加的事件用null清楚。
通过DOM 2级添加的事件(addEventLIstener())只能通过removeEventListener()事件删除。

IE事件处理程序及跨浏览器解决

IE事件处理程序及跨浏览器解决

本节相关代码:

<body> <div> <input type="button" id="btn1" value="按钮1" onclick="aa1()"> <input type="button" id="btn2" value="按钮2" > <input type="button" id="btn3" value="按钮3" > <input type="button" id="btn4" value="按钮4" > </div> <script type="text/javascript"> function aa1() { alert('Hello World!'); } var btn2=document.getElementById("btn2"); var btn3=document.getElementById("btn3"); var btn4=document.getElementById("btn4");// btn2.onclick=function () {// alert('这是通过DOM 0级事件添加的事件!');// };// //btn2.onclick=null;//删除事件!// //DOM 2级事件处理程序// btn3.addEventListener('click',aa1,false);// //btn3.removeEventListener('click',aa1,false);// btn4.attachEvent('onclick',aa1);// btn4.detachEvent('onclick',aa1); //添加时间 var eventUnit={ addEvent:function (elemnt,type,handler) { if (elemnt.addEventListener){ elemnt.addEventListener(type,handler,false); }else if (elemnt.attachEvent){ elemnt.attachEvent('on'+type,handler); }else{ elemnt['on'+type]=handler;//element.onclick==element['onclick'] } }, //删除句柄 removeEvent:function (elemnt,type,handler) { if (elemnt.removeEvent){ elemnt.removeEventListener(type,handler,false); }else if (elemnt.detachEvent){ elemnt.detachEvent('on'+type,handler); }else{ elemnt['on'+type]=null;//element.onclick==element['onclick'] } } } eventUnit.addEvent(btn3,'click',aa1); </script></body>

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 声明:本文来源于http://www.webzsky.com/?p=731我只是在这里作为自己的学习笔记整理一下(...
    angryyan阅读 7,171评论 1 6
  • 以下文章为转载,对理解JavaScript中的事件处理机制很有帮助,浅显易懂,特分享于此。 什么是事件? 事件(E...
    jxyjxy阅读 3,089评论 1 10
  • 事件流: 事件流:页面接收事件的顺序。 IE定义的:事件冒泡流(由最具体的元素依次传播到DOM树的最上层的Docu...
    xiaoguo16阅读 625评论 0 0
  • 什么是事件: 事件是交互体验的核心功能 一.事件冒泡: 当一个事件发生时,这个事件会从内向外逐层传递。 二.为什么...
    轻描淡写mua阅读 541评论 0 0
  • 刚刚收到被牺牲的消息,伤心难过漫无目的的在大街上游荡,接到久违的姑姑的电话她要来探望我。她妈妈病着,本应该我去看她...
    暖暖读书阅读 292评论 0 0