DOM事件流
同时支持 两种基本事件模型,规定事件流包括三个阶段:事件捕获阶段、处于目标阶段、事件冒泡阶段。
DOM事件处理程序绑定时,程序员可以自己选择绑定事件时采用事件捕获还是事件冒泡。
IE事件流
IE只支持事件冒泡,不支持事件捕获。
事件处理程序绑定方式
DOM事件处理程序
DOM事件处理程序属性名为“on”+事件名,程序作用域为元素的作用域,this指向元素本身。
方法一:将函数值赋给一个事件处理程序属性。如下:
var btn= document.getElementById("myBtn"); btn.onclick = function{ //具体代码段 }注意:此种方法只能添加一个事件处理程序
/*可跨浏览器的事件处理程序构造EventUtil对象,为其添加可兼容各浏览器的事件处理方法*/var EventUtil = {/*添加事件处理程序*/addHandler: function (element, type, handler) {if (element.addEventListener) {addEventListener(type, handler, false);} else if (element.attachEvent) {attachEvent("on" + type, handler);} else {element["on" + type] = handler;}},/*移除事件处理程序*/removeHandler: function (element, type, handler) {if (element.removeEventListener) {removeEventListener(type, handler, false);} else if (element.detachEvent) {detachEvent("on" + type, handler);} else {element["on" + type] = null;}},/*获得事件对象*/getEvent: function (event) {return event ? event : window.event;},/*获得事件的目标*/getTarget: function (event) {return event.target || event.scrElement;},/*取消事件的默认行为*/preventDefault: function (event) {if (event.preventDefault) {event.preventDefault;} else {event.returValue = false;}},/*阻止事件进一步冒泡*/stopPropagation: function (event) {if (event.stopPropagation) {event.stopPropagation;} else {event.cancelBubble = true;}}};以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,同时也希望多多支持脚本之家!