javascript事件处理过程分为三步:1、发生事件;2、启动事件处理程序;3、事件处理程序做出反应。其中,要使事件处理程序能够启动,必须通过指定的对象来调用相应的事件,然后通过该事件调用事件处理程序。
本教程操作环境:windows7系统、javascript1.8.5版、Dell G3电脑。
JavaScript是基于对象(object-based)的语言,它的一个最基本的特征就是采用事件驱动(event-driven)。可以使在图形界面环境下的一切操作变得简单化。通过鼠标或热键的动作称为事件(event)。由鼠标或热键引发的一连串程序动作,称为事件驱动(event driver),而对事件进行处理的程序或函数,称为事件处理程序(event handler)。
事件处理是对象化编程的个很重要的环节,它可以使程序的逻辑结构更加清晰,使程序更具有灵活性,提高了程序的开发效率。
事件处理的过程分为三步:
①发生事件;
②启动事件处理程序;
③事件处理程序做出反应。
其中,要使事件处理程序能够启动,必须通过指定的对象来调用相应的事件,然后通过该事件调用事件处理程序。事件处理程序可以是任意JavaScript语句,但是一般用特定的自定义函数(function) 来对事件进行处理。
事件与事件名称
事件是一些可以通过脚本响应的页面动作。当用户按下鼠标键或者提交一个表单, 甚至在页面上移动鼠标时,事件就会出现。事件处理是一段 JavaScript代码,总是与页面中的特定部分以及一定的事件相关联。当与页面特定部分关联的事件发生时,事件处理器就会被调用。
绝大多数事件的命名都是描述性的,很容易理解。例如click. submit. mousecover 等,通过名称就可以猜测其含义。但也有少数事件的名称不易理解,例如blur (英文的字面意思为“模糊”),表示一个域或者 一个表单失去焦点。通常,事件处理器的命名原则是, 在事件名称前加上前缀on.例如,对于click事件,其处理器名为onclick.
JavaScript的常用事件
事件 |
说明 |
|
鼠标键盘事件 | onclick | 鼠标单击时触发此事件 |
ondblclick | 鼠标双击时触发此事件 | |
onmousedown | 按下鼠标时触发此事件 | |
onmouseup | 鼠标按下后松开鼠标时触发此事件 | |
onmouscover | 当鼠标移动到某对象范围的上方时触发此事件 | |
onmousemove | 鼠标移动时触发此事件 | |
onmouscout | 当鼠标离开某对象范围时触发此事件 | |
onkeypress | 当键盘上的某个键被按下并且释放时触发此事件 | |
onkeydown | 当键盘上某个按键被按下时触发此事件 | |
onkeyup | 当键盘上某个按键被按下后松开时触发此事件 | |
页面相关事件 | onabort | 图片在下载时被用户中断时触发此事件 |
onbeforeunload | 当前页面的内容将要被改变时触发此事件 | |
onerror | 出现错误时触发此事件 | |
onload | 页面内容完成时触发此事件(也就是页面加载事件) | |
onresize | 当浏览器的窗口大小被改变时触发此事件 | |
onunload | 当前页面将被改变时触发此事件 |
事件 | 说明 | |
表单相关事件 | onblur | 当前元素失去焦点时触发此事件 |
onchange | 当前元素失去焦点并且元素的内容发生改变时触发此事件 | |
onfocus | 当某个元素获得焦点时触发此事件 | |
onreset | 当表单中RESET的属性被激活时触发此事件 | |
onsubmit | 一个表单被递交时触发此事件 | |
滚动字幕事件 | onbounce | 在Marquce内的内容移动至Marquce品示范围之外时触发此事件 |
onfinish | 当Marquce元素完成需婴显示的内容后触发此事件当Marquce元素开始显示内容时触发此事件 | |
onstart | Marquce元素开始显示内容时触发此事件 | |
编辑事件 | onbeforecopy | 当页面当前被选择内容将要复制到浏览者系统的剪贴板前触发此事件 |
onbeforecut | 当页面中的部分或全部内容被剪切到浏览者系统剪贴板时能发此事件 | |
onbeforeeditfocus | 当前元素将要进入编辑状态时触发此事件 | |
onbeforepaste | 当要将内容从浏览者的系统剪贴板中粘贴到页面上时触发此事件 | |
onbeforeupdate | 当浏览者粘贴系统剪贴板中的内容时通知目标对象 | |
oncontextmenu | 当浏览者按下鼠标右键出现菜单时或者通过键盘的按键触发页面菜单时触发此事件 | |
oncopy | 当页面当前的被选择内容被复制后触发此事件 | |
oncut | 当页面当前的被选择内容被剪切时触发此事件 | |
ondrag | 当某个对象被拖动时触发此事件(活动事件) | |
ondragend | 当鼠标拖动结束时触发此事件,即鼠标的按钮被释放时 | |
ondragente | 当对象被鼠标拖动进入其容器范围内时触发此事件 |
|
ondragleave | 当对象被鼠标拖动的对象离开其容器范围内时触发此事件 | |
ondragover | 当被拖动的对象在另一对象容器范围内拖动时触发此事件 | |
ondragstart | 当某对象将被拖动时触发此事件 |
|
ondrop | 在一个拖动过程中,释放鼠标键时触发此事件 | |
onlosecapture | 当元素失去鼠标移动所形成的选择焦点时触发此事件 | |
onpaste | 当内容被粘贴时触发此事件 | |
onselect | 当文本内容被选择时触发此事件 | |
onselectstart | 当文本内容的选择将开始发生时触发此事件 |
事件 | 说明 | |
数据绑定事件 | onafterupdate | 当数据完成由数据源到对象的传送时触发此事件 |
oncellchange | 当数据来源发生变化时触发此事件 | |
ondataavailable | 当数据接收完成时触发此事件 | |
ondatasetchanged | 数据在数据源发生变化时触发此事件 | |
ondatasetcomplete | 当数据源的全部有效数据读取完毕时触发此事件 | |
onerrorupdate | 当使用onbeforeupdate事件触发取消了数据传送时,代替afterupdate事件 | |
数据绑定事件 | onrowenter | 当前数据源的数据发生变化井且有新的有效数据时触发此事件 |
onrowexit | 当前数据源的数据将要发生变化时触发此事件 | |
onrowsdelete | 当前数据记录将被删除时触发此事件 | |
onrowsinserted | 当前数据源将要插入新数据记录时触发此事件 | |
外部事件 | onafterprint | 当文档被打印后触发此事件 |
onbeforeprint | 当文档即将打印时触发此事件 | |
onfilterchange | 当某个对象的滤镜效果发生变化时触发此事件 | |
onhelp | 当浏览者按下F1键或者单击浏览器的帮助菜单时触发此事件 | |
onpropertychange | 当对象的属性之一发生变化时触发此事件 | |
onreadystatechange | 当对象的初始化属性值发生变化时触发此事件 |
事件处理程序的调用
在使用事件处理程序对页面进行操作时,最重要的是如何通过对象的事件来指定事件处理程序。
在JavaScript中调用事件处理程序,首先需要获得要处理对象的引用,然后将要执行的处理函数赋值给对应的事件。
代码:
<input id="save" name="bt_save" type="button" value="保存" /> <script language="JavaScript" type="text/javascript"> var b_save=document.getElementById("save"); b_save.onclick=function(){ alert("单击了保存按钮"); } </script>
在HTML中分配事件处理程序,只需要在HTML标记中添加相应的事件,并在其中指定要执行的代码或函数名即可。
<input name="bt_save" type="button" value="保存" onclick="clickFunction();"/> <script language="JavaScript" type="text/javascript"> function clickFunction(){ alert("单击了保存按钮"); } </script>
【相关推荐:javascript视频教程、编程视频】
以上是javascript事件处理过程分为几步的详细内容。更多信息请关注PHP中文网其他相关文章!