JavaScript事件概念详解(区分静态注册和动态注册)


Posted in Javascript onFebruary 05, 2021

js中的事件

什么是事件?事件是电脑输入设备与页面进行交互的响应,我们称之为事件

事件类型

  • 鼠标单击:例如单击button、选中checkbox和radio等元素;鼠标进入、悬浮或退出页面的某个热点:例如鼠标停在一个图片上方或者进入table的范围;
  • 键盘按键:当按下按键或释放按键时;
  • HTML事件:例如页面body被加载时;在表单中选取输入框或改变输入框中文本的内容:例如选中或修改了文本框中的内容;
  • 突变事件:主要指文档底层元素发生改变时触发的事件,如DomSubtreeModified(DOM子树修改)。

常用的事件

  • onload 加载完成事件: 页面加载完成之后,常用于做页面js 代码初始化操作
  • onclick 单击事件: 常用于按钮的点击响应操作。
  • onblur 失去焦点事件: 常用用于输入框失去焦点后验证其输入内容是否合法。
  • onchange 内容发生改变事件: 常用于下拉列表和输入框内容发生改变后操作
  • onsubmit 表单提交事件: 常用于表单提交前,验证所有表单项是否合法。

事件的注册

什么是事件的注册(绑定)?
其实就是告诉浏览器,当事件响应后要执行哪些操作代码,叫事件注册或事件绑定。
事件的注册又分为静态注册和动态注册两种

  • 静态注册事件:通过html 标签的事件属性直接赋于事件响应后的代码,这种方式我们叫静态注册
  • 动态注册事件:是指先通过js 代码得到标签的dom 对象,然后再通过dom 对象.事件名= function(){} 这种形式赋于事件响应后的代码,叫动态注册

动态注册基本步骤:

1、获取标签对象
2、标签对象.事件名= fucntion(){}

静态动态注册举例

onload 加载完成事件

静态绑定:

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>静态注册</title>
  <script type="text/javascript">
  // onload 事件的方法
   function onloadFun() {
   alert('静态注册onload 事件,所有代码');
   }
  </script>
</head>
<!--静态注册onload 事件,onload 事件是浏览器解析完页面之后就会自动触发的事件,body标签的属性,通过这个属性注册-->
<body οnlοad="onloadFun();">
</body>
</html>

动态绑定:

固定的写法,通过window.onload(){}方法,在大括号内调用方法的

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>动态注册</title>
  <script type="text/javascript">
   // onload 事件动态注册。是固定写法
   window.onload = function () {
   alert("动态注册的onload 事件");
   }
  </script>
</head>
<body>
</body>
</html>

onclick单击事件

举例,从这个例子更好的体会两者定义的不同

onclick静态绑定事件

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript">
 function onclickFun() {
  alert("静态注册onclick 事件");
 }
</script>
</head>
<body>
<!--静态注册onClick 事件,通过button的onclick属性-->
<button onclick="onclickFun();">按钮1</button>
</body>
</html>

onclick动态绑定事件

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Title</title>
<script type="text/javascript">
   window.onload = function () {
   //getElementById 通过id 属性获取标签对象
   var btnObj = document.getElementById("btn01");
   // 2 通过标签对象.事件名= function(){}
   btnObj.onclick = function () {
    alert("动态注册的onclick 事件");
   }
   }
</script>
</head>
<body>
 
<button id="btn01">按钮2</button>
</body>
</html>

以上就是JavaScript事件概念详解(区分静态注册和动态注册)的详细内容,更多关于JavaScript 事件的资料请关注三水点靠木其它相关文章!

Javascript 相关文章推荐
extjs 学习笔记(三) 最基本的grid
Oct 15 Javascript
jQuery 表单验证扩展(四)
Oct 20 Javascript
js使用正则实现ReplaceAll全部替换的方法
Aug 22 Javascript
JavaScript实现的浮动层框架用法实例分析
Oct 10 Javascript
jquery ajaxfileupload异步上传插件使用详解
Feb 08 Javascript
TypeScript入门-接口
Mar 30 Javascript
vue环境搭建简单教程
Nov 07 Javascript
浅谈使用mpvue开发小程序需要注意和了解的知识点
May 23 Javascript
React性能优化系列之减少props改变的实现方法
Jan 17 Javascript
一篇文章,教你学会Vue CLI 插件开发
Apr 17 Javascript
基于better-scroll 实现歌词联动功能的代码
May 07 Javascript
JavaScript实现HSL拾色器
May 21 Javascript
详解javascript脚本何时会被执行
Feb 05 #Javascript
前端如何实现动画过渡效果
Feb 05 #Javascript
原生js拖拽功能制作滑动条实例代码
Feb 05 #Javascript
jQuery是用来干什么的 jquery其实就是一个js框架
Feb 04 #jQuery
如何在JavaScript中使用localStorage详情
Feb 04 #Javascript
vue浏览器返回监听的具体步骤
Feb 03 #Vue.js
vue实现禁止浏览器记住密码功能的示例代码
Feb 03 #Vue.js
You might like
php使用glob函数快速查询指定目录文件的方法
2014/11/15 PHP
javascript数组与php数组的地址传递及值传递用法实例
2015/01/22 PHP
Ubuntu12下编译安装PHP5.3开发环境
2015/03/27 PHP
PHP实现的激活用户注册验证邮箱功能示例
2017/06/06 PHP
PHP通过curl获取接口URL的数据方法
2018/05/31 PHP
Yii框架参数配置文件params用法实例分析
2019/09/11 PHP
URL编码转换,escape() encodeURI() encodeURIComponent()
2006/12/27 Javascript
[原创]js与自动伸缩图片 自动缩小图片的多浏览器兼容的方法总结
2007/03/12 Javascript
js操作textarea 常用方法总结
2012/12/03 Javascript
Javascript基础教程之数据类型 (布尔型 Boolean)
2015/01/18 Javascript
jQuery源码解读之hasClass()方法分析
2015/02/20 Javascript
JavaScript中的函数声明和函数表达式区别浅析
2015/03/27 Javascript
js计算时间差代码【包括计算,天,时,分,秒】
2016/04/26 Javascript
利用Javascript仿Excel的数据透视分析功能
2016/09/07 Javascript
JavaScript实现Fly Bird小游戏
2016/12/15 Javascript
关于javascript作用域的常见面试题分享
2017/06/18 Javascript
微信小程序自定义tabbar custom-tab-bar 6s出不来解决方案(cover-view不兼容)
2019/11/01 Javascript
javascript中的相等操作符(==与===区别)
2019/12/21 Javascript
合并Excel工作薄中成绩表的VBA代码,非常适合教育一线的朋友
2009/04/09 Python
python如何实现excel数据添加到mongodb
2015/07/30 Python
Python双精度浮点数运算并分行显示操作示例
2017/07/21 Python
Python实现的求解最大公约数算法示例
2018/05/03 Python
Python实现Mysql数据统计及numpy统计函数
2019/07/15 Python
在python中利用try..except来代替if..else的用法
2019/12/19 Python
python中把元组转换为namedtuple方法
2020/12/09 Python
River Island美国官网:英国高街时尚品牌
2018/09/04 全球购物
澳大利亚便宜隐形眼镜购买网站:QUICKLENS Australia
2018/10/06 全球购物
英国PC组件和在线电脑商店:SCAN
2019/04/18 全球购物
什么是符号链接,什么是硬链接?符号链接与硬链接的区别是什么?
2014/01/19 面试题
医学专业毕业生个人求职信
2013/12/25 职场文书
法院干警四风问题个人对照检查材料思想汇报
2014/10/07 职场文书
大学生入党自荐书
2015/03/05 职场文书
门店店长岗位职责
2015/04/14 职场文书
Python OpenCV超详细讲解调整大小与图像操作的实现
2022/04/02 Python
Python识别花卉种类鉴定网络热门植物并自动整理分类
2022/04/08 Python
Python selenium绕过webdriver监测执行javascript
2022/04/12 Python