快速业务通道

将事件处理器作为HTML标记的属性

作者 佚名技术 来源 网页制作 浏览 发布时间 2012-03-07
mePage_onclick(),即这个函数关联的是名为linkSomePage的超链接对象的onclick事件处理器。这种命名规范只是程序员的一种约定俗成,它并不是强制性的。只要在代码中使用一致的命名规范,我们也可以使用自己喜欢的其他命名方式。

现在onclick属性连接到了调用linkSomePage_onclick()函数的代码。因此,当用户单击了这个超链接,linkSomePage_onclick()函数就将被执行。

值得注意的是,linkSomePage_onclick()函数具有一个返回值,且在本例中,返回值为true。此外,在定义onclick属性时,在函数名之前使用了一个return语句,将函数的返回值返回给onclick属性,这是为什么呢?

由事件处理器 onclick="return linkSomePage_onclick()"返回的值将被JavaScript用来决定超链接是否执行它的默认行为,即是否链接到一个新页面去。如果返回值为true,则超链接将执行它的默认行为,并链接到somepage.htm页面。如果返回值为false,则默认的事件处理功能—— 链接到somepage.htm页面—— 将不会被执行,即超链接的默认事件处理行为被取消了。我们可以修改一下代码以进行测试,如下所示:

function linkSomePage_onclick()

{

alert(''This link is going nowhere'');

return false;

}

此时,你将发现仅仅弹出了一个消息对话框,超链接并没有提供链接到somepage.htm页面的功能。

某些对象和事件并不会使用事件处理器的返回值,因此有的时候返回值是多余的。另外,返回值为false时也并不一定总是能够取消对象的默认行为。出于浏览器发展的历史原因,对于某些浏览器有时当返回值为true时将取消对象的默认行为。通常,最好将返回值设置为true,在遇到特殊情况时再作出相应的处理,这样做比较保险。

某些事件并不是直接由用户的行为所触发。例如,window对象具有load事件和unload事件,当页面加载完毕时将触发load事件,而当页面卸载时,将触发unload事件(页面卸载指的是用户关闭了浏览器,或者打开了其他页面)。

实际上,window对象的事件处理器应放在<body>标记中。例如,要为window对象的load事件和unload事件添加相应的事件处理器,可以使用如下代码:

<body language="JavaScript" onload="myOnLoadfunction()"

onunload="myOnUnloadFunction()">

注意,这里把<body>标记的language属性设置为JavaScript,因为<body>标记并不包含在定义JavaScript脚本块的<script>标记内

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号