有关JS中Event对象的几点总结
作者:yemoo 来源:yemoo博客 发布时间:2009-03-06 12:36:00
JavaScript/Dom中有很多很零碎的东西,让人总是感觉理解的有些“朦胧”,因此,有时候还是应该总结一下,对于Event对象,前两天看了quirksmode上PPK的一些关于事件的文章后,感觉很多东西瞬间都明白了,简单总结一下:
对一个存在默认事件的dom元素绑定一个相同的事件后(如a的href默认行为click转向),通过return false可以取消默认事件。尽管现在的浏览器支持preventDefault/returnValue等方式来取消,但return false是最简单且兼容各种浏览器的。
对于在a元素上绑定了的mouseover事件中尝试修改window.status时,需要返回true以取消默认的事件(在状态栏显示连接地址),这是一个特例。
通过return false并不能取消所有的事件,如unload。因为这类事件如果可以被取消则可能为用户带来很不好的体验。
内联事件绑定(<a onclick="">link</a>)和通过事件属性绑定(a.onclick=function(){})是所有浏览器均支持的。
在html中,因为标记不区分大小写,因此内联事件名也不区分大小写,你可以写成onclick或者OnClick等形式,但在XHTML中,必须是小些形式。此外,其它形式的事件绑定中事件名也必须为小写。
IE中,触发一个事件的方法为element.fireEvent('onclick');
w3c建议的事件触发顺序为先捕获后冒泡,这在非IE浏览器中可以根据addEventListeners的第三个参数来定义一个事件是在捕获期或者冒泡期触发,但在IE中只支持冒泡的顺序。
在IE中,通过attachEvent绑定的事件,其回调函数中的this指向的是window对象而不是绑定的dom对象。而在w3c兼容的浏览器中通过addEventLisnters绑定的事件回调函数中的this都是指向所绑定事件的dom对象。
猜你喜欢
- 学会了FSO提取文件值,也学会了将信息输入到文件中,那下面就再来应用应用下。不知道你有没有这样的习惯:看到一个文件,不自觉的右键选择用记事本
- 这个问题好像在各种数据库中都存在,该如何处理呢?一、SQL中:sql="CREATE TABLE phone&
- SQL*Plus system/manager 2、显示当前连接用户 SQL> show user 3、查看系统拥有哪些用户 SQL&
- 渲染引擎渲染引擎的职责是……渲染,也就是把请求的内容显示到浏览器屏幕上。默认情况下渲染引擎可以显示HTML,XML文档以及图片。 通过插件(
- 引言 性能是一个特征。您必须预先设计性能,否则您以后就得重写应用程序。就是说,有哪些好的策略可使 Active Server Pages (
- 对于xml2ddl项目,Freshmeat.org提供了一整套基于GNU或者GPL通用公共许可证下的Python程序。在一个运行的Pytho
- 判断字符串长度函数:<SCRIPT LANGUAGE="JavaScript"><!--fu
- 此文译自Fred Wilson 2010年2月在迈阿密举行的Web未来应用的年会上的演讲谢谢青云推荐了这篇这么好的演说谢谢卓和百忙中抽空帮我
- 在 CodeBit.cn 的论坛中,有人问 Javascript 中如何截取小数位并实现四舍五入,这是一个很常用的 js 技术,帖子中也有网
- 在网上查了部分资料但是发现粘上去的代码都存在问题,无奈只好自己修改了一下,代码如下: 如下代码能正常运行,都是网上查找资料最后拼凑总结出来的
- MySQL、SQL Server和mSQL都是绝佳的SQL工具,可惜,在ASP的环境下你却用不着它们来创建实用的SQL语句。不过,你可以利用
- //图片上传<SCRIPT RUNAT=SERVER LANGUAGE=VBSCRIPT> Function GetUpload
- IE8正式版已经发布了。本篇文章不会非常扯蛋地去进行什么评测,然后给出什么“Chrome运行JavaScript能力是IE8的15倍”、什么
- 其实所有的死锁最深层的原因就是一个:资源竞争。表现一:一个用户A 访问表A(锁住了表A),然后又访问表B
- asp之家注:作为一个学习asp的爱好者,相信一定接触过session,我们经常使用session来作为会员登录的验证,当然也可以使用COO
- 段时间作项目中,遇到使用视图的问题,以前的工作中很少遇到视图,认为直接用表就ok了,何须视图呢?下面我来讲述一下它的功用:以往当我们查询数据
- 见下:<form action="./calculation.asp"><input&nbs
- 目前代码应该没什么bug了,兼容IE6.0 & FF 1.5, 通过xHTML 的Transitional验证和 CSS 验证。为了
- (1) 展示了ASP * 站设计的一些最基本的方法,相信通过实践各位对ASP已经有了最基本的了解,本篇在答复大家所提问题的同时,将进一步介绍
- SQL Server 2000 的 XML 功能可以简化将现有代码作为 Web 服务提供的任务。本文集中讨论了传入和传出 Transact