您的位置:首页 > Web前端 > JavaScript

【翻译作品】JavaScript Event学习第六章:事件的访问

2010-02-06 15:52 302 查看
在这一章我会讲解如何去访问一个事件对象。

现在我们已经注册了事件处理程序,对于事件我们还想更深入的了解。我们想知道事件发生时候的鼠标位置,我们想知道用户按下了哪些键。这些都是可能的,虽然这部分有很多烦人的浏览器兼容性问题。(这里可以快速查看浏览器兼容性列表)。

要读出事件的属性,必须要先能访问到事件。

浏览器兼容性

站在浏览器战争的角度看,Netscape实现了一个访问模型(后来被W3C做借鉴)和很多的事件属性,同时微软也做了同样的事情。当然这两种模型是完全不兼容的。但是就像我们再简介里面说的,如果

element.onclick=doSomething;


doSomething()就会把事件当做一个参数。习惯上保存在一个e变量中,当然你可以改成任何名字:

element.onclick = function (e) {alert('Event type is ' + e.type)}


 ]element.onclick = doSomething;

function doSomething() {
// window.event gives access to the event
}
[/code]

或者

element.onclick = doSomething;

function doSomething(e) {
if (!e) var e = window.event;
// e gives access to the event in all browsers
}


如果e不存在那么就给他赋值window.event。现在e在所有浏览器里面都表示事件。

与内联式的事件处理程序合并
在内联式的注册模型中,你必须把event传递给函数:

function doSomething(e) {
alert(e.type);
}


虽然在微软模型里(window.)event是正确的属性,其他浏览器也能识别。

继续

如果你想继续学习,请看下一章。

原文地址:http://www.quirksmode.org/js/events_access.html
第一次翻译 大家多包含 我的twitter:@rehawk
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: