JavaScript 中的事件

事件是能够被 JavaScript 检测到的动作。

——————————————————————————
事件
使用JavaScript可以生成动态的网页。 事件是JavaScript能够检测到的动作。
网页的每一个元素都能产生一定的事件,用这些事件可以触发JavaScript的函数。例如,我们可以使用一个按钮的点击(onClick)事件来指定当用户点击按钮时执行某个函数。 事件在HTML的tag中定义。

事件举例:

  • 鼠标点击
  • 网页或图片加载
  • 鼠标滑过网页上的热点
  • 选择一个HTML表单中的输入框
  • 提交一个HTML表单
  • 某个键被按下

注意: 事件通常与函数结合使用, 函数在事件触发前不会被执行。

——————————————————————————-
JavaScript的事件列表 (事件属性 – 发生条件):

  • onabort – 一个图片的加载被终止 (只用于<img>)
  • onblur – 当一个元素失去焦点(光标移开)
  • onchange – 用户改变了一个域的值(用于 <input type=”text”>, <select>, <textarea>)
  • onclick – 鼠标点击对象
  • ondblclick – 鼠标双击对象
  • onerror – 文件或图片加载出错( <img>, <object>, <style>)
  • onfocus – 一个元素得到焦点
  • onkeydown – 键盘上任一键被按下
  • onkeypress – 键盘上任一键被按下或保持按下
  • onkeyup – 当被按下的键被释放时
  • onload – 当页面或图片完成加载
  • onmousedown – 当一个鼠标键被按下
  • onmousemove – 鼠标移动
  • onmouseout – 鼠标被从一个元素上移开
  • onmouseover – 鼠标移至某元素上
  • onmouseup – 鼠标键被释放
  • onreset – 重置按钮被点击
  • onresize – 窗口或框架大小被改变
  • onselect – 文本被选择
  • onsubmit – 提交按钮被点击
  • onunload – 用户关闭页面

————————————————————————————–
onload 和 onUnload

onload 和 onUnload 事件分别是在用户进入或离开页面时被触发的。

onload 事件通常被用来检查访问者的浏览器类型和版本, 并根据这些信息加载适当的网页版本。

onload 和 onUnload 事件也常常被用来在用户进入或离开页面时设置cookies。 例如, 当用户第一次访问你的网页时,你可以使用一个弹出窗口询问用户的名字, 然后将名字存储在一个cookie中。下次当同一用户再次访问你的网页的时候, 你可以用另外一个弹出窗口打出一些问候语,比如 “欢迎您, 某某!”

——————————————————————————–
onFocus, onBlur 和 onChange

onFocus, onBlur 和 onChange 事件通常与表单域的验证结合使用。

以下是一个例子,显示如何使用onChange 事件。 每当用户改变这个输入域的值, checkEmail() 函数就会被调用:

<input type=”text” size=”30″ id=”email” onchange=”checkEmail()”>;

———————————————————————————-
onSubmit

onSubmit 事件通常被用来在表单提交之前验证所有的域值。

下 面是一个例子,显示怎样使用onSubmit事件。 当用户点击表单的提交按钮时, 函数checkForm()就会被调用。 如果某些域值不能被接受, 提交将会被取消。 函数 checkForm()返回值为真或者假。 如果返回值为真,则表单会被提交, 否则, 表单会被取消:

<form method=”post” action=”xxx.htm” onsubmit=”return checkForm()”>

————————————————————————————
onMouseOver 和 onMouseOut

onMouseOver 和 onMouseOut 通常被用来生成动画按钮。

以下为一个onMouseOver事件的例子。 当鼠标移到链接“程序员实验室”上时,一个提示窗口就会弹出来:

<a href=”http://www.prglab.com”
onmouseover=”alert(‘An onMouseOver event’);”> 程序员实验室 </a>

Leave a Reply

Your email address will not be published.