JScript/JavaScript的参考文档甚少,也不是很详细,很多语法也是一知半解,今天在写事件函数时碰到了一个问题,现讨论如下。 众所周知,在处理HTML元素的事件时可以有多种方法写代码: 1、直接写在HTML元素的on???属性中,如: ![]() ![]() 2、使用HTML元素对象的事件属性,如: ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() ![]() 常用的是第1、2种方法,但有些时候使用第2种方法还是比较合适,比如写body.onload时,不一定方便把onLoad属性写在<body>元素内。特别是ASP.Net中编写Web用户控件(.ascx)时,它并没有<body>元素。于是我写了下面的脚本: ![]() 原来按照方法2的写法,事件函数是不能带参数的!只能写成window.onload=funcname;的形式,而如果想带参数地调用一个或多个函数,可以把这些语句写到一个函数内。也可以写成: ![]() ![]() ![]() 看来想问题还是要谨慎,不能想当然。 |
|