日期:2014-05-16 浏览次数:20306 次
目前使用的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 |
免责声明: 本文仅代表作者个人观点,与爱易网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。
|