日期:2014-05-16 浏览次数:20368 次
目前使用的3中完全不同的不兼容的事件处理模型:
1.原始事件模型:通常非正式把它看作0级DOM API的一部分内容。尽管它的特性有限,但所有启用Javascript的浏览器都支持它,因此具有可移植性。
2.标准事件模型:2级DOM标准对它进行了标准化,除IE外的所有浏览器都支持他。
3.Internet Explorer事件模型:最初由IE4引入。具有标准事件模型的许多高级特性,但不具有全部特性。
把一个元素设置为多个文档元素的事件句柄:
//在链接前请求用户的确认
function confirmLink() {
	return confirm("您确认要访问“ + this.href + ” 吗?");
}
function confirmAllLinks() {
	for(var i = 0; i < document.links.length; i++) {
		document.links[i].onclick = confirmLink;
	}
}
假定对象o,具有mymethod方法,可以用下面代码注册一个事件句柄
button.onclick = o.mymethod
这个语句使button.onclick引用与o.mymethod相同的函数。现在这个函数既是o的方法,也是button的方法。当浏览器触发这个事件句柄时,它将把该函数作为button对象的方法调用,而不是作为o对象的方法调用。关键字this引用Button对象,而不是引用对象o。不要认为可以让浏览器把一个事件句柄作为其他对象的方法调用。如果想这样做,必须直接调用
button.onclick = function() { o.mymethod(); }
?
?
?
列表显示了所有事件模块、以及它定义的事件接口和它支持的事件类型。
| 
 模块名  | 
 事件接口  | 
 事件类型  | 
| 
 HTMLEvents  | 
 Event  | 
 abort 、 blur 、 change 、 erro 、 focus 、 load 、 resrt 、 resize 、 scroll 、 select 、 submit 、 unload  | 
| 
 MouseEvents  | 
 MouseEvents  | 
 click 、 mousedown 、 mousemove 、 mouseover 、 mouseup  | 
| 
 UIEvents  | 
 UIEvent  | 
 DOMActivate 、 DOMFocusln 、 DOMFocusOut  | 
Event : HTMLEvent 模块定义的事件类型使用 Event 接口。其他事件类型都使用该接口,即所有事件对象都实现了 Event 接口,并提供了适用于所有事件类型的详细信息。 Event 接口定义了如下属性:
| 
 type  | 
                    
                    
                     
                        免责声明: 本文仅代表作者个人观点,与爱易网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
                     
                    
                
                
            
            
            
    
        
   
 |