欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

DOM事件探秘篇

程序员文章站 2023-11-21 10:45:58
1.事件流 时间流--- 描述的是从页面中接受事件的顺序。 (1)事件冒泡流。 事件最开始由最具体的元素(文档中嵌套层次最深的那个节点)接收,然后逐级向上传播至最不具...

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表示阻止事件的默认行为。

以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持!