DOM事件探秘篇
1.事件流
时间流--- 描述的是从页面中接受事件的顺序。
(1)事件冒泡流。
事件最开始由最具体的元素(文档中嵌套层次最深的那个节点)接收,然后逐级向上传播至最不具体的那个节点(文档)。
(2)事件捕获流。
不太具体的节点应该更早接受到事件,而最具体的节点最后接受到事件。
2.js事件探索
1.html事件处理程序 -- 直接写在html标签里面的js触发语句。
2.dom0级事件处理程序。
把一个函数赋值给一个事件的处理程序属性,用的比较多的方法,简单,跨浏览器的优势。
3.dom2级事件处理程序。
(1)用于处理制定和删除事件处理程序的操作。
addeventlistener(处理的事件名,事件处理程序的函数,布尔值) removeeventlistner()。
4.ie事件处理程序。
attachevent(事件处理程序的名称,事件处理程序的函数) detachevent()
不需要添加第三个参数:ie8以及更早的浏览器版本只支持事件冒泡。
var eventutil = { addhandler:function(element,type,handler){ if(element。addeventlistener){ element。addeventlistener(type,handler,false); }else if(element。attachevent){ element。attachevent(‘on' + type,handler) ; }else{ element【‘on' + type】= handler; } } removehandler:function(element,type,handler){ if(element。removeeventlistner){ element。removeeventlistner(type,handler); }else if(element。detachevent){ element。detachevent(‘on' + type,handler) ; }else{ element【‘on' + type】 = handler ; } } }
3.事件对象
在触发dom上的事件时会产生一个对象,事件对象event。
(1)dom中的事件对象。
1.type属性 用于获取事件类型。
2.target属性 用于获取事件目标。
3.stoppropagation()方法 用于阻止事件冒泡。
4.preventdefault()方法 阻止事件的默认行为。
(2)ie中的事件对象。
1.type属性 用于获取事件类型。
2.srcelement属性 用于获取事件的目标。
3.cancelbubble属性 用于阻止事件冒泡。 设置true 表示阻止冒泡 设置false 表示不阻止冒泡。
4.returnvalue属性 用于阻止事件的默认行为。设置false表示阻止事件的默认行为。
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!