本文实例讲述了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事件冒泡。分享给大家供大家参考。具体分析如下: 事件冒泡: 如果元素A嵌套在元素B中,那么A被点击不仅A的onclick事件会被触发,B的onclick也会被触发, 触发的顺序是"由内而外".验证:在页面上添加一个table,
本文向大家介绍js中的事件捕捉模型与冒泡模型实例分析,包括了js中的事件捕捉模型与冒泡模型实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了js中的事件捕捉模型与冒泡模型。分享给大家供大家参考。 具体实现方法如下: 实例1: 实例2: addEventListener:第三个参数为可选参数,默认情况下为false,表示冒泡模型,即先触发最小的层(id为son的div);而如果加上tr
本文向大家介绍JavaScript事件委托技术实例分析,包括了JavaScript事件委托技术实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例分析了JavaScript事件委托技术。分享给大家供大家参考。具体分析如下: 如果一个整体页面里有大量的按钮.我们就要为每一个按钮绑定事件处理程序.这样就会影响性能了. 首先每个函数都是对象,对象就会占用很多内存.内存中的对象越多,性能就越差. 其
本文向大家介绍js事件模型与自定义事件实例解析,包括了js事件模型与自定义事件实例解析的使用技巧和注意事项,需要的朋友参考一下 JavaScript 一个最简单的事件模型,需要有事件绑定与触发,还有事件删除。 其中主要实现了bind(绑定事件)、unbind(删除事件)与 trigger (触发事件)。对同一事件名称,可以绑定多个事件处理函数;并按照绑定的顺序依次触发。 args.splice(0
本文向大家介绍javascript中键盘事件用法实例分析,包括了javascript中键盘事件用法实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例分析了javascript中键盘事件用法。分享给大家供大家参考。具体如下: 键盘事件包含onkeydown、onkeypress和onkeyup这三个事件 事件初始化 DOM标准下 IE下 兼容的方法 使用原则:keydown事件对于功能按键来
本文向大家介绍JavaScript键盘事件常见用法实例分析,包括了JavaScript键盘事件常见用法实例分析的使用技巧和注意事项,需要的朋友参考一下 本文实例讲述了JavaScript键盘事件常见用法。分享给大家供大家参考,具体如下: JavaScript 键盘事件有以下3种 keydown 键盘按键按下(如果按着不放,会持续触发该事件),可以捕获组合键。 keypress 键盘非功能按键按下(