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 相关文章推荐
jqPlot 基于jquery的画图插件
Apr 26 Javascript
线路分流自动智能跳转代码,自动选择最快镜像网站(js)
Oct 31 Javascript
javascript从image转换为base64位编码的String
Jul 29 Javascript
JS实现OCX控件的事件响应示例
Sep 17 Javascript
vue.js实现价格格式化的方法
May 23 Javascript
深入理解ES6学习笔记之块级作用域绑定
Aug 19 Javascript
JS实现的判断方法、变量是否存在功能示例
Mar 28 Javascript
Angularjs Ng_repeat中实现复选框选中并显示不同的样式方法
Sep 12 Javascript
vue实现的网易云音乐在线播放和下载功能案例
Feb 18 Javascript
vue实现绑定事件的方法实例代码详解
Jun 20 Javascript
node中实现删除目录的几种方法
Jun 24 Javascript
使用vuex较为优雅的实现一个购物车功能的示例代码
Dec 09 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出错界面
2006/10/09 PHP
PHP+Mysql基于事务处理实现转账功能的方法
2015/07/08 PHP
php类常量用法实例分析
2015/07/09 PHP
php flush无效,IIS7下php实时输出的方法
2016/08/25 PHP
PHP与SQL语句常用大全
2016/12/10 PHP
PHP 7.0新增加的特性介绍
2017/06/08 PHP
PHP实现简单的模板引擎功能示例
2017/09/02 PHP
jquery URL参数判断,确定菜单样式
2010/05/31 Javascript
js模仿html5 placeholder适应于不支持的浏览器
2013/01/13 Javascript
一段非常简单的js判断浏览器的内核
2014/08/17 Javascript
node.js中的events.emitter.removeAllListeners方法使用说明
2014/12/10 Javascript
js检测用户输入密码强度
2015/10/22 Javascript
JavaScript闭包实例详解
2016/06/03 Javascript
详解JavaScript跨域总结与解决办法
2016/10/31 Javascript
arcgis for js 修改infowindow样式的方法
2016/11/02 Javascript
javaScript中定义类或对象的五种方式总结
2016/12/04 Javascript
bootstrap按钮插件(Button)使用方法解析
2017/01/13 Javascript
jquery ztree实现右键收藏功能
2017/11/20 jQuery
微信小程序实现刷脸登录
2018/05/25 Javascript
详解Vue中的基本语法和常用指令
2019/07/23 Javascript
Vue实现开心消消乐游戏算法
2019/10/22 Javascript
微信小程序后端(java)开发流程的详细步骤
2019/11/13 Javascript
js实现抽奖功能
2020/11/24 Javascript
Python 拷贝对象(深拷贝deepcopy与浅拷贝copy)
2008/09/06 Python
老生常谈Python基础之字符编码
2017/06/14 Python
python实现批量注册网站用户的示例
2019/02/22 Python
Python帮你识破双11的套路
2019/11/11 Python
python去除删除数据中\u0000\u0001等unicode字符串的代码
2020/03/06 Python
jupyter notebook oepncv 显示一张图像的实现
2020/04/24 Python
python可视化 matplotlib画图使用colorbar工具自定义颜色
2020/12/07 Python
python pygame 愤怒的小鸟游戏示例代码
2021/02/25 Python
英国知名化妆品网站:Revolution Beauty(原TAM Beauty)
2018/02/28 全球购物
大学生联谊活动策划书(光棍节)
2014/10/10 职场文书
违章停车检讨书
2014/10/21 职场文书
党员思想汇报材料
2014/12/19 职场文书
小学班主任工作随笔
2015/08/15 职场文书