将事件处理器作为HTML标记的属性
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 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢! |