什么是事件

JavaScript 创建动态页面。事件是可以被 JavaScript 侦测到的行为。 网页中的每个元素都可以产生某些可以触发 JavaScript 函数或程序的事件。

比如说,当用户单击按钮或者提交表单数据时,就发生一个鼠标单击(onclick)事件,需要浏览器做出处理,返回给用户一个结果。

主要事件表:

鼠标单击事件( onclick )

onclick是鼠标单击事件,当在网页上单击鼠标时,就会发生该事件。同时onclick事件调用的程序块就会被执行,通常与按钮一起使用。

比如,我们单击按钮时,触发 onclick 事件,并调用两个数和的函数add2()。代码如下:

<html>
<head>
<script type="text/javascript">
function add2(){
var numa,numb,sum;
numa=6;
numb=8;
sum=numa+numb;
document.write("两数和为:"+sum); }
</script>
</head>
<body>
<form>
<input name="button" type="button" value="点击提交" onclick="add2()" />
</form>
</body>
</html>

注意: 在网页中,如使用事件,就在该元素中设置事件属性。

鼠标经过事件(onmouseover)

鼠标经过事件,当鼠标移到一个对象上时,该对象就触发onmouseover事件,并执行onmouseover事件调用的程序。

现实鼠标经过"确定"按钮时,触发onmouseover事件,调用函数info(),弹出消息框,代码如下:

运行结果:

鼠标移开事件(onmouseout)

鼠标移开事件,当鼠标移开当前对象时,执行onmouseout调用的程序。

当把鼠标移动到"登录"按钮上,然后再移开时,触发onmouseout事件,调用函数message(),代码如下:

运行结果:

光标聚焦事件(onfocus)

当网页中的对象获得聚点时,执行onfocus调用的程序就会被执行。

如下代码, 当将光标移到文本框内时,即焦点在文本框内,触发onfocus 事件,并调用函数message()。

运行结果:

失焦事件(onblur)

onblur事件与onfocus是相对事件,当光标离开当前获得聚焦对象的时候,触发onblur事件,同时执行被调用的程序。

如下代码, 网页中有用户和密码两个文本框。当前光标在用户文本框内时(即焦点在文本框),在光标离开该文本框后(即失焦时),触发onblur事件,并调用函数message()。

运行结果:

内容选中事件(onselect)

选中事件,当文本框或者文本域中的文字被选中时,触发onselect事件,同时调用的程序就会被执行。

如下代码,当选中用户文本框内的文字时,触发onselect 事件,并调用函数message()。

运行结果:

文本框内容改变事件(onchange)

通过改变文本框的内容来触发onchange事件,同时执行被调用的程序。

如下代码,当用户将文本框内的文字改变后,弹出对话框“您改变了文本内容!”。

运行结果:

加载事件(onload)

事件会在页面加载完成后,立即发生,同时执行被调用的程序。

注意:1. 加载页面时,触发onload事件,事件写在标签内。

  2. 此节的加载页面,可理解为打开一个新页面时。

如下代码,当加载一个新页面时,弹出对话框“加载中,请稍等…”。

运行结果:

卸载事件(onunload)

当用户退出页面时(页面关闭、页面刷新等),触发onUnload事件,同时执行被调用的程序。

注意:不同浏览器对onunload事件支持不同。

如下代码,当退出页面时,弹出对话框“您确定离开该网页吗?”。

运行结果:(IE浏览器)

最新文章

  1. Openmeetings 3.1.1 报错-Internal error
  2. 考虑virtual函数以外的选择
  3. java定时器
  4. PythonOCC 3D图形库学习—导入STEP模型
  5. 亚马逊副总裁谈Marketplace平台的个性化服务
  6. unpipc.h&amp;unpipc.c
  7. EasyUI-增删改操作
  8. Genymotion模拟器一滑动页面就跳到搜索003
  9. 将EmEditor加入到鼠标右键菜单
  10. JavaScript实现复制功能
  11. 关于vue2用vue-cli搭建环境后域名代理的http-proxy-middleware
  12. 初学MySQL基础知识笔记--01
  13. JS对象与Dom对象与jQuery对象之间的区别
  14. 在模拟器上运行Android项目时报错:DELETE_FAILED_INTERNAL_ERROR Error while Installing APKs
  15. Linux入门笔记
  16. Java互联网架构-Mysql分库分表订单生成系统实战分析
  17. HDU 2955 变形较大的01背包(有意思,新思路)
  18. hdu 3709 Balanced Number(平衡数)--数位dp
  19. python -c 处理shell字符串
  20. 解决SDK未授权问题

热门文章

  1. 使用apply调用函数
  2. 如何创建NPM包并上传
  3. exit(0)与exit(1)
  4. java课程课后作业190612之Beta版总结会议
  5. centos7+nginx+php+mysql环境搭建
  6. https://www.jianshu.com/p/fc78dab5736f
  7. 用豆瓣加速安装pandas、numpy、matplotlib(画图)
  8. PAT Advanced 1018 Public Bike Management (30) [Dijkstra算法 + DFS]
  9. 学习spring的第二天
  10. Callable、Future、线程池简单使用