| 事件 | 何时发生 | 事件处理程序 |
| blur | 用户将input focus从form元素上移去 | onBlur |
| click | 用户在form元素或连接上接动鼠标 | onClick |
| change | 用户改变了文本,文本区或选择元素的值 | onChange |
| focus | 用户把input focus赋给form元素 | onFocus |
| load | 用户把页装入Navigato | onLoad |
| mouseover | 用户把鼠标光标从link或anchor上移过 | onMouseOve |
| select | 用户选择了form元素的输入域 | onSelect |
| submit | 用户提交了一个form | onSubmit |
| unload | 用户退出此页 | onUnload |
例4 有一个form和一个event handler属性的脚本
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
function compute(form) {
if (confirm("Are you sure?"))
form.result.value=eval(form.expr.value)
else
alert("Please come back again")
}
</SCRIPT>
</HEAD>
<BODY>
<FORM>
Enter an expression:
<INPUT TYPE="text" NAME="expr" SIZE=15>
<INPUT TYPE="button" VALUE="Calculate" ONCLICK="compute(this.form)">
<BR>
Result:
<INPUT TYPE="text" NAME="expr" SIZE=15>
<BR>
</FORM>
</BODY>
例4中的页面显示
技巧与技术
本节介绍几种有用的编写脚本的技术
更新页(Updating Pages)
在Navigator上JavaScript是按从页的顶部到下的顺序生成结果. 一旦有些东西被重新设计(format),你只能靠重新装载此页的办法来改变,目前,你只能更新整 个页, 而不能只更新某一部分. 但是你可以单独更新frame中的"sub-window".
打印
目前, 还不能把用JavaScript产生的输出打印出来. 例如,若你的页上有如下内容,
<P>This is some text
<SCRIPT>document.write("<P>And some generated text")</SCRIPT>
当打印时,你只会打出"This is some text", 即使你能在屏幕上看到两行.
使用引号
一定要区分双引号和单引号,因为在HTML中事件处理程序必须用双引号 括起来,参数用单引号,例如:
<FORM NAME="myform">
<INPUT TYPE="button" NAME="button1" VALUE="Open Sesame!"
onClick="window.open('stmtsov.html', 'newWin','toolbar=no,directories=no')">
</FORM>
另外,你可以用前置反斜线()对引号进行转义.
定义函数
在HTML页的HEAD部分定义全部函数是一个好习惯.这样,在显示任何内容之前, 所有函数均已定义.否则在页还在装载时,用户可能做一些事情触发事件处理程序, 调用了未定义函数,将导致错误.










