西西软件园多重安全检测下载网站、值得信赖的软件下载站!
软件
软件
文章
搜索

首页 → 编程开发 → javascript|JQuery → JavaScript Event学习第六章:事件的访问

JavaScript Event学习第六章:事件的访问

相关软件相关文章发表评论 来源:本站原创时间:2010/2/19 11:13:45字体大小:A-A+

作者:不详点击:534次评论:2次标签: Event

  • 类型:加壳脱壳大小:126KB语言:中文 评分:6.0
  • 标签:
立即下载

在这一章我会讲解如何去访问一个事件对象。

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

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

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

1 if (W3C/Netscape) {<BR>    use W3C/Netscape model for access and property names<BR>}<BR>else if (Explorer) {<BR>    use Microsoft model for access and property names<BR>}<BR>


这样是不正确的解决兼容性问题的办法,他会让一些能执行大部分代码但是没有考虑到的浏览器失去作用。所以我们得先访问一个事件然后再分别读取他的属性。

我们先来讨论访问事件的问题,事件属性会在后面讨论。

W3C/Netscape
在W3C/Netscape事件访问模型中事件会被当做一个参数传递给事件处理程序。所以如果你定义一个事件处理程序

1 element.onclick=doSomething;<BR>


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

1 function doSomething(e) {<BR>    // e gives access to the event<BR>}<BR>


这是完全自动的,不需要其他的代码。在匿名函数中你可以这样写:

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

微软
在微软的事件访问模型中有一个特别的属性window.event包含最后一个发生的事件。

1 element.onclick = doSomething;<BR><BR>function doSomething() {<BR>    // window.event gives access to the event<BR>}<BR>


或者

1 element.onclick = function () {alert('Event type is ' + window.event.type)}<BR>

Event和event
注意到还有一个古老的Netscape属性window.Event。IE不认识这个,Netscape 4也会曲解他。所以写的时候一定要确保event是小写e开头的。

跨浏览器的事件访问
很幸运的是要写跨浏览器访问事件的脚本还是很简单的:

1 element.onclick = doSomething;<BR><BR>function doSomething(e) {<BR>    if (!e) var e = window.event;<BR>    // e gives access to the event in all browsers<BR>}<BR>

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

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

1 <pre onclick="doSomething(event)"><BR><BR>function doSomething(e) {<BR>    alert(e.type);<BR>}<BR>

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

    易语言编程
    (84)易语言编程
    易语言5.6完美破解版,免费中文化编程平台,不需使用破解补丁,安装完成后就是企业版注册授权;易语言5.11完美破解版为节省安装文件体积,已精简掉知识库和多媒体教程。易语言是一个自主开发,适合国情,不同层次不同专业的人员易学易用的汉语编程语言。易语言降低了广大电脑用户编程的门槛,尤其是根本不懂英文或者英文了解很少的用户,可以通过使用本语言极其快速地进入Windows程序编写的大门。...更多>>

    相关评论

    阅读本文后您有什么感想? 已有人给出评价!

    • 8 喜欢喜欢
    • 3 顶顶
    • 1 难过难过
    • 5 囧囧
    • 3 围观围观
    • 2 无聊无聊

    最新评论查看所有(2)条评论 >

    第 1 楼 浙江台州 网友 网友 2026/9/5 18:47:17
    这章讲事件访问真是救大命,终于知道怎么抓鼠标位置和按键了。新版本把浏览器兼容性那些坑讲得特别透,以前踩雷的地方现在一看就懂。功能很实用,跟着做立马就能上手,比光看理论强太多,真心觉得这次更新很用心

    支持( 0 ) 盖楼(回复)

    发表评论

    昵称:
    表情: 高兴 可 汗 我不要 害羞 好 下下下 送花 屎 亲亲