ASP JavaScript事件
事件是浏览器响应用户交互操作的一种机制,JavaScript的事件处理机制可以改变浏览器响应用户操作的方式,这样就开发出具有交互性,更具响应性和易于使用的网页。网页中的每个元素都可以产生某些可以触发JavaScript函数的事件。比方说,我们可以在用户点击某按钮时产生一个onClick事件来触发某个函数,事件在HTML页面中定义。
1.事件类型
客户端JavaScript支持大量的事件类型。发生事件的类型不同,生成的事件类型也不相同。JavaScript支持大量不同的事件处理程序属性。在表8-30列出了这些属性,还列出了何时触发这些事件处理程序,以及哪些HTML标记支持这些事件处理属性。
表8-30 事件处理属性
事件名称 | 触发条件 | 支持标记 |
onabort | 图像装载被中断时 | <img> |
onblur | 标记失去输入焦点 | <button>、<input>、<label>、<select>、<textarea>、<body> |
onchange | 选择<select>标记中的选项或者其他表单标记失去了焦点,并且由于它获得了焦点而使值发生了改变 | <input>、<label>、<select>、<textarea> |
onclick | 鼠标按下并释放,发生在mouseup事件后。若返回false可以取消默认动作。 | 大多数标记 |
ondbclick | 双击鼠标时 | 大多数标记 |
onerror | 在装载图像的过程中发生了错误时 | <img> |
onfocus | 标记得到输入焦点 | <button><input><label><select><textarea><body> |
onkeydown | 键盘键被按下时,若返回false可取消默认动作 | 表单元素、<body> |
onkeypress | 键盘键被释放时,若返回false可取消默认动作 | 表单元素、<body> |
onkeyup | 键盘键被释放 | 表单元素、<body> |
onload | 文件加载完成 | <body>、<frameset>、<img>、<iframe>、<object> |
onmousedown | 按下鼠标左键时 | 大多数标记 |
onmousemove | 鼠标移动时 | 大多数标记 |
onmouseout | 鼠标离开了标记 | 大多数标记 |
onmouseover | 鼠标移到标记上。若用于<A>标记,返回true可以防止URL出现在状态栏中。 | 大多数标记 |
onmouseup | 释放鼠标左键 | 大多数标记 |
onreset | 表单请求被重置时,若返回false则阻止重置 | <form> |
onresize | 调整窗口大小 | <body>、<frameset> |
onselect | 选中文本 | <input>、<textarea> |
onsubmit | blur事件请求提交表单时,,若返回false则阻止提交 | <form> |
onunload | 卸载(关闭)文件或者框架集时 | <body>、<frameset> |
可以把表8-30中所示的这些事件分为两大类事件:
● 原始事件 这些事件是在用户移动鼠标,单击鼠标或者键盘时触发的。这些事件只描述用户的动作,没有其他含义。
● 语义事件 这些事件的含义比较复杂,通常只有特定的环境中被触发。例如,在浏览器加载完文件或者单击提交表单时。语义事件通常作为事件的附加属性触发。
2.事件处理
事件处理程序被作为HTML的属性值并设置为JavaScript脚本。例如,要单击一个按钮执行JavaScript脚本,可以把这段代码设置为<input>标记的onClick属性的值,如下所示:
<INPUT type="button" id="EnterButton" value="确定" onClick="alert('欢迎!');">
事件处理程序的属性值可以是任意的JavaScript脚本,如果处理程序由多个JavaScript语句组成,则必须在各语句之间使用分号分隔。例如:
<INPUT type="button" id="EnterButton" value="确定"
onClick="document.write('欢迎光临!'); alert('请随便转转!');">
在实际使用时,如果事件处理程序有多个语句,可以把这些语句定义在一个函数体中,然后在HTML事件处理属性中调用这个函数,这样处理起来会更加容易。例如,如果在提交之前验证用户的表单输入,可以用<form>标记的onsubmit属性。表单验证通常要求多行代码,所以可以定义一个表单验证函数,用onClick属性调用这个函数,这样比把所有代码填充在一个长长的属性值中要清晰、容易得多。例如,如果定义了一个名为validateForm()的函数来执行验证,可以使用如下的方式来从一个事件处理属性中调用它:
<form action="processForm" onsubmit="return validateForm();">
</form>
由于HTML标记不区分大小写,因此可以选择多种方式来确定事件处理属性的大小写。通常采用大小写混合的形式,即前缀为小写的on,如onClick、onLoad和onMouseOut等等。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论