手机
当前位置:查字典教程网 >编程开发 >Javascript教程 >javascript事件模型实例分析
javascript事件模型实例分析
摘要:本文实例讲述了javascript事件模型的用法。分享给大家供大家参考。具体分析如下:一、事件模型冒泡型事件(Bubbling):事件由叶子...

本文实例讲述了javascript事件模型的用法。分享给大家供大家参考。具体分析如下:

一、事件模型

冒泡型事件(Bubbling):事件由叶子节点沿祖先节点一直向上传递到根节点

捕获型事件(Capturing):由DOM树最顶元素一直到最精确的元素,与冒泡型事件相反

DOM标准事件模型:DOM标准既支持冒泡型事件,也支持捕获型事件,可以说是两者的结合体,首先是捕获型,接着冒泡传递

二、事件对象

在IE浏览器中事件对象是window的一个属性,在DOM标准中,event必须作为唯一的参数传给事件处理函数

获得兼容的event 对象:

function(event){ //event 是作为DOM标准的参数传入处理函数 event = event ?event : window.event; }

在IE中,事件的对象包含在event的srcElement中,而在DOM标准中,对象包含在target属性中

获得兼容的event 对象指向的元素:

var target =event.srcElement ? event.srcElement : event.target ;

前提是,保证event对象已经正确的获取

三、事件监听器

IE下,注册的监听器逆序执行,即后面注册的先执行

element.attachEvent('onclick',observer); //注册监听器 element.detachEvent('onclick',observer) //移除监听器

第一个参数为事件名称,第二个为回调处理函数

DOM标准下:

element.addEventListener('click',observer,useCapture) element.removeEventListener('click',observer,useCapture)

第一个参数为事件名称,没有“on”的前缀,第二个参数为回调处理函数,第三个参数说明回调函数是在捕获阶段调用还是冒泡阶段调用,默认true为捕获阶段

四、事件传递

兼容地取消浏览器的事件传递

function someHandler(event){ event = event || window.event; if(event.stopPropagation) //DOM标准 event.stopPropagation(); else event.cancelBubble = true; //IE标准 }

取消事件传递后的默认处理

function someHandler(event){ event = event || window.event; if(event.preventDefault) //DOM标准 event. preventDefault (); else event.returnValue = true; //IE标准 }

希望本文所述对大家的javascript程序设计有所帮助。

【javascript事件模型实例分析】相关文章:

javascript事件冒泡实例分析

javascript实现带下拉子菜单的导航菜单效果

javaScript中push函数用法实例分析

javascript实现图片跟随鼠标移动效果的方法

javascript中动态函数用法

javascript实现删除前弹出确认框

JavaScript实现列表分页功能特效

javascript实现表格增删改操作实例详解

浅析JavaScript中的事件机制

Javascript 字符串模板的简单实现

精品推荐
分类导航