首页 > 代码库 > 事件处理
事件处理
一.事件流(描述的是从页面接受事件的顺序)
1.事件冒泡(IE)
事件由最开始的元素接收,然后逐级向上传播,直到document的顺序触发
2.事件捕获(Netscape)
事件由document开始触发,最后到精确的节点。
二.事件处理程序
1.HTML事件处理程序
2.DOM0级事件处理程序
3.DOM2级事件处理程序
DOM2级事件定义了两个方法:
1)添加事件监听器:addEventListener()
2)删除事件监听器:removeEventListener()
以上两个方法都需要接受三个参数,一是需要的事件名,二是事件处理程序的函数,三是boolean值(一般是false,表示事件的冒泡)
4.IE事件处理程序
1)添加事件:attachEvent()
2)删除事件:detachEvent()
以上两个方法只需要接受两个参数,一是事件处理程序的事件名,二是事件处理程序的函数
不接受第三个参数的原因:IE8以及更早的版本只支持事件冒泡
5.跨浏览器的处理程序
封装一个对象
1 <script> 2 //跨浏览器事件处理程序 3 var eventUtil={ 4 //添加句柄 5 addHandler:function(element,type,handler){ 6 if(element.addEventListener()){ 7 element.addEventListener(type,handler,false); 8 }else if(element.attachEvent()){ 9 element.attachEvent(‘on‘+type,handler);10 }else{11 element[‘on‘+type]=handler;12 }13 },14 //删除句柄15 removeHandler:function(element,type,handler){16 if(element.removeEventListener()){17 element.removeEventListener(type,handler,false);18 }else if(element.detachEvent()){19 element.detachEvent(‘on‘+type,handler);20 }else{21 element[‘on‘+type]=null;22 }23 }24 };25 26 eventUtil.addHandler(btn1,‘click‘,showMessage);27 </script>
本人自学小白一个,望大牛指点。
事件处理
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。