5.5 关于Event对象
在你完全掌握dHTML前,你需要了解event对象。两种4.0浏览器都包含event对象。它在事件创立时产生,如点击一个可点击的对象,移动鼠标,或聚焦到一个窗体元素上。Event对象被创建然后传递给处理事件的函数。
下面是event对象属性的描述,以及Netscape和IE处理它们的方式:
描述 | Microsoft 属性 | Netscape属性 |
代表事件类型的字符串 | type | type |
代表最初发送给对象事件的字符串 | srcElement | target |
光标横坐标 | x | x |
光标纵坐标 | y | y |
相对于页面的横坐标 | clientX | pageX |
相对于页面的纵坐标 | clientY | pageY |
相对于屏幕的横坐标 | screenX | screenX |
相对于屏幕的纵坐标 | screenY | screenY |
键代码 | keyCode | which |
Netscape返回键的代码,IE 返回true或false | tKey ctrlKey shiftKey | modifiers |
4.0浏览器增加了一些新事件:
onDblClick | 鼠标双击 |
onKeyDown | 键被按下 |
onKeyPress | 键被按下然后被释放 |
onKeyUp | 键被释放 |
onMouseDown | 鼠标被按下 |
onMouseMove | 鼠标移动 |
onMouseUp | 鼠标被释放 |
onResize | 窗口被调整大小 |
4.0浏览器也增加了处理事件的新方法,虽然它们(Netscape和IE)的方式不同。Netscape用的是“时间捕捉”,IE用的是“事件气泡”。
事件处理对Netscape处理如mouseMove或keyPress等事件是必须的,它并不隐含指向一个标记或元素。你应该告诉客户注意这些事件,并告诉它用什么函数来处理它们。下面例子用window对象的captureEvents方法来描述正在捕捉的事件:
window.captureEvents(Event.MOUSEMOVE);
注意到在不用on作为名称一部分的情况下特定事件是如何被指向的。你只是告诉Netscape注意所有发生在窗口中的事件并捕捉它们。然后你需要告诉Netscape用这些被捕捉的时间做些什么。注意on又出现了。
window.onMouseMove = handlerFunction; function handerFunction(yourEvent) { alert(yourEvent.screenX); }
这段代码是一个演示事件过程的烦人的例子。每次你移动鼠标,一个对话框会跳出来告诉你它的横坐标位置。以这种方式处理的事件传递一个指针到event对象。从这儿你可以获取必要的信息。一旦你厌倦了捕捉事件,你可以象这样释放它们:
window.releaseEvents(Event.MOUSEMOVE);
于是这种类型的事件不再被捕捉。
IE用不同的方法处理事件,叫做“事件气泡”。在这种方法中,如果你有这样一个结构:
<bodyonclick="bloorf()"><ponclick="baz()"><emonclick="bar()"><strongonclick="foo()">Click on me</strong></em></p></body>
如果你点击strong标记内的文本,它接收到一个onClick事件,然后发送onclick事件给<em>标记,处理它然后发送到<p>标记,等等,然后直到窗口。这样每个元素以自己的方式处理点击。但是如果你想停止气泡上传,可以取消气泡。
<script> function foo() { doSomeThing(); this.event.cancelBubble = true; } </script>
所以如果你不想让某个事件传递到所有它包含的标记,可以象上面那样阻止它。
你可以看到,因为两种浏览器存在相似的事件,每一步都需要大量的条件化工作,而且没有简单的方式把它们映射到一个句法中。
一、推荐使用迅雷或快车等多线程下载软件下载本站资源。
二、未登录会员无法下载,登录后可获得更多便利功能,若未注册,请先注册。
三、如果服务器暂不能下载请稍后重试!总是不能下载,请点我报错 ,谢谢合作!
四、本站大部分资源是网上搜集或私下交流学习之用,任何涉及商业盈利目的均不得使用,否则产生的一切后果将由您自己承担!本站将不对任何资源负法律责任.如果您发现本站有部分资源侵害了您的权益,请速与我们联系,我们将尽快处理.
五、如有其他问题,请加网站设计交流群(点击这里查看交流群 )进行交流。
六、如需转载本站资源,请注明转载来自并附带链接
七、本站部分资源为加密压缩文件,统一解压密码为:www.aizhanzhe.com
- 1尚硅谷前端学科全套视频[AVI][130.72GB]
- 2深入理解php:高级技巧、面向对象与核心技术(原书第3版) 【PDF】
- 3开发高质量PHP框架与应用的实际案例解析【PDF】
- 4响应式Web图形设计 ([美]Christopher Schmitt) 中文【PDF】
- 5响应式Web设计:HTML5和CSS3实践指南【PDF】
- 6响应式Web设计:HTML5和CSS3实战 第2版 (本·弗莱恩) 中文【PDF】
- 7Axure RP8 实战手册 网站和APP原型制作案例精粹(小楼一夜听春语) 试读版【PDF】【15.4MB】
- 8[马上学Android]安卓开发视频教程
- 9Android开发视频教程
- 10PHP100视频教程
- 1Java编程思想On Java 8[PDF][中文][英文][源码][15.31MB]
- 2PostgreSQL实战 (谭峰等著)【PDF】【221.29MB】
- 3【机器学习】菜菜的sklearn课堂(1-12全课)[PDF][源码][157.45MB]
- 4UNREAL ENGINE 4蓝图完全学习教程[PDF][66.67MB]
- 5加密与解密(第4版)[PDF][光盘源码][1.15GB]
- 6Qt 5.9 C++开发指南[PDF][276.26MB]
- 7Python数据分析与应用PPT、教案、实训数据、习题答案[PPT][142.49MB]
- 8数据中台:让数据用起来[PDF][12.80MB]
- 9计算机网络:自顶向下方法(第7版) 【PDF】【英文】【17.46MB】
- 10大话5G:走进万物互联新时代【PDF】【37.31MB】