14.3 JavaScript的事件

JavaScript是基于对象的语言,而基于对象的基本特征,就是采用事件驱动。通常鼠标或键盘的动作称之为事件,由鼠标或键盘引发的一连串程序的动作,称之为事件驱动。而对事件进行处理的程序或函数,则称之为事件处理程序。

14.3.1 onClick事件

鼠标单击事件是最常用的事件之一,当用户单击鼠标时,产生onClick事件,同时onClick指定的事件处理程序或代码将被调用执行。

举例:

image322_4

在代码中加粗部分的代码为设置onClick事件,如图14.5所示,单击窗口中的“全屏”按钮,将全屏显示网页,如图14.6所示。单击“还原”按钮,将还原到原来的窗口。

image323_1

图14.5 onClick事件

image323_2

图14.6 全屏显示

14.3.2 onchange事件

它是一个与表单相关的事件,当利用text或textarea元素输入的字符值改变时发生该事件,同时当在select表格中的一个选项状态改变后也会引发该事件。

举例:

image323_3

在代码中加粗部分的代码为设置onchange事件,在文本区域中可输入留言内容,在文本区域外部单击会弹出警告提示对话框,如图14.7所示。

image324_1

图14.7 onchange事件

14.3.3 onSelect事件

onSelect事件是当文本框中的内容被选中时所发生的事件。

举例:

image324_2

在代码中加粗部分的代码为设置onSelect事件,在文本框中选中文字后,会弹出选择文字的提示对话框,如图14.8所示。

image326_1

图14.8 onSelect事件

14.3.4 onFocus事件

当单击表单对象时,即将光标放在文本框或选择框上时产生onFocus事件。

举例:

image326_2

在代码中加粗部分的代码为设置onFocus事件,选择其中的一项后,会弹出选择提示对话框,如图14.9所示。

image327_1

图14.9 onFocus事件

14.3.5 onLoad事件

当加载网页文档时,会产生该事件。onLoad事件的作用是在首次载入一个页面文件时检测cookie的值,并用一个变量为其赋值,使其可以被源代码使用。

举例:

image327_2

在代码中加粗部分的代码为设置onLoad事件,在浏览器中预览时,会自动弹出提示对话框,如图14.10所示。

image328_1

图14.10 onLoad事件

14.3.6 onUnload事件

当退出网页时引发onUnload事件,并可更新cookie的状态。

举例:

image328_2

在代码中加粗部分的代码为设置onUnload事件,在浏览器中预览效果,如图14.11所示。单击“关闭”按钮,退出页面时弹出如图14.12所示的提示对话框。

image329_1

图14.11 浏览效果

image329_2

图14.12 onUnload事件

14.3.7 onBlur事件

失去焦点事件正好与获得焦点事件相对,当text对象、textarea对象或select对象不再拥有焦点而退到后台时,引发该事件。

举例:

image329_3

在代码中加粗部分的代码为设置onBlur事件,在浏览器中预览效果,将光标移动到任意一个文本框中,再将光标移动到其他的位置,就会弹出一个提示对话框,说明某个文本框失去焦点,如图14.13所示。

image330_1

图14.13 onBlur事件

14.3.8 onMouseOver事件

onMouseOver是当鼠标指针移动到某对象范围的上方时触发的事件。

举例:

image330_2

在代码中加粗部分的代码为设置onMouseOver事件,在浏览器中预览效果,将鼠标指针移动到“显示图像”按钮的上方时显示图像,如图14.14所示。

image331_1

图14.14 onMouseOver事件

14.3.9 onMouseOut事件

onMouseOut是当鼠标指针离开某对象范围时触发的事件。

举例:

image332_1

在代码中加粗部分的代码为设置onMouseOut事件,在浏览器中预览效果,将鼠标指针移动到图像上,再将鼠标指针移开时,图像将隐藏,如图14.15所示。

image333_1

图14.15 onMouseOut事件

14.3.10 onDblClick事件

onDblClick是鼠标双击时触发的事件。

举例:

image333_2

在代码中加粗部分的代码为设置onDblClick事件,在浏览器中预览效果,如图14.16所示。

image333_3

图14.16 onDblClick事件

在文档中双击链接,打开christmas.htm网页文档,如图14.17所示。

image334_1

图14.17 打开christmas.htm网页文档

14.3.11 其他常用事件

在JavaScript中还提供了一些其他的事件,如表14-4所示。

表14-4 其他常用事件

事  件 描  述
onmousedown 按下鼠标时触发此事件
onmouseup 鼠标按下后松开鼠标时触发此事件
onmousemove 鼠标移动时触发此事件
onkeypress 当键盘上的某个键被按下并且释放时触发此事件
onkeydown 当键盘上某个按键被按下时触发此事件
onkeyup 当键盘上某个按键被放开时触发此事件
onabort 图片在下载时被用户中断时触发此事件
onbeforeunload 当前页面的内容将要被改变时触发此事件
onerror 出现错误时触发此事件
onmove 浏览器的窗口被移动时触发此事件
onresize 当浏览器的窗口大小被改变时触发此事件
onscroll 浏览器的滚动条位置发生变化时触发此事件
onstop 浏览器的“停止”按钮被按下或者正在下载的文件被中断时触发此事件
onreset 当表单中的reset属性被激发时触发此事件
onsubmit 一个表单被递交时触发此事件
onbounce 当Marquee内的内容移动至Marquee显示范围之外时触发此事件
Onfinish 当Marquee元素完成需要显示的内容后触发此事件
onstart 当Marquee元素开始显示内容时触发此事件
onbeforecopy 当页面当前的被选择内容将要复制到浏览者的系统剪贴板前触发此事件
onbeforecut 当页面中的一部分或者全部的内容将被移离当前页面剪切并移动到浏览者的系统剪贴板时触发此事件
onbeforeeditfocus 当前元素将要进入编辑状态时触发此事件
onbeforepaste 内容将要从浏览者的系统剪贴板粘贴到页面中时触发此事件
onbeforeupdate 当浏览者粘贴系统剪贴板中的内容时通知目标对象
oncontextmenu 当浏览者按下鼠标右键出现菜单时或者通过键盘的按键触发页面菜单时触发此事件
oncopy 当页面当前的被选择内容被复制后触发此事件
oncut 当页面当前的被选择内容被剪切时触发此事件
ondrag 当某个对象被拖动时触发此事件[活动事件]
ondragdrop 一个外部对象被拖进当前窗口或者帧时触发此事件
ondragend 当鼠标拖动结束时触发此事件,即鼠标被释放
ondragenter 当对象被鼠标拖动的对象进入其容器范围内时触发此事件
ondragleave 当对象被鼠标拖动的对象离开其容器范围内时触发此事件
ondragover 当某被拖动的对象在另一对象容器范围内拖动时触发此事件
ondragstart 当某对象将被拖动时触发此事件
ondrop 在一个拖动过程中,释放鼠标时触发此事件
onlosecapture 当元素失去鼠标移动所形成的选择焦点时触发此事件
onpaste 当内容被粘贴时触发此事件
onselectstart 当文本内容选择将开始发生时触发此事件
onafterupdate 当数据完成由数据源到对象的传送时触发此事件
oncellchange 当数据来源发生变化时触发此事件
ondataavailable 当数据接收完成时触发此事件
ondatasetchanged 数据在数据源发生变化时触发此事件
ondatasetcomplete 当来自数据源的全部有效数据读取完毕时触发此事件
onerrorupdate 当使用onBeforeUpdate事件触发取消了数据传送时,代替onAfterUpdate事件
onrowenter 当前数据源的数据发生变化并且有新的有效数据时触发此事件
onrowexit 当前数据源的数据将要发生变化时触发此事件
onrowsdelete 当前数据记录将被删除时触发此事件
onrowsinserted 当前数据源将要插入新数据记录时触发此事件
onafterprint 当文档被打印后触发此事件
onbeforeprint 当文档即将打印时触发此事件
Onfilterchange 当某个对象的滤镜效果发生变化时触发此事件
onhelp 当浏览者按下F1键或者浏览器的帮助选择时触发此事件
onpropertychange 当对象的属性之一发生变化时触发此事件
onreadystatechange 当对象的初始化属性值发生变化时触发此事件