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 相关文章推荐
当滚动条滚动到页面底部自动加载增加内容的js代码
May 13 Javascript
js中日期的加减法
May 06 Javascript
Angularjs整合微信UI(weui)
Mar 15 Javascript
js获取当前年月日-YYYYmmDD格式的实现代码
Jun 01 Javascript
JavaScript String(字符串)对象的简单实例(推荐)
Aug 31 Javascript
AngularJS的Filter的示例详解
Mar 07 Javascript
iview通过Dropdown(下拉菜单)实现的右键菜单
Oct 26 Javascript
koa-router路由参数和前端路由的结合详解
May 19 Javascript
微信小程序利用Canvas绘制图片和竖排文字详解
Jun 25 Javascript
localstorage实现带过期时间的缓存功能
Jun 28 Javascript
浅谈对于“不用setInterval,用setTimeout”的理解
Aug 28 Javascript
Vuex,iView UI面包屑导航使用扩展详解
Nov 04 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分页类的代码
2011/05/18 PHP
PHP观察者模式定义与用法实例分析
2019/03/22 PHP
ThinkPHP框架结合Ajax实现用户名校验功能示例
2019/07/03 PHP
javascript 建设银行登陆键盘
2008/06/10 Javascript
JS获取后台Cookies值的小例子
2013/03/04 Javascript
处理及遍历XML文档DOM元素属性及方法整理
2013/08/23 Javascript
JavaScript分页功能的实现方法
2015/04/25 Javascript
jquery+CSS实现的多级竖向展开树形TRee菜单效果
2015/08/24 Javascript
JSON 数据详解及实例代码分析
2017/01/20 Javascript
AngularJS实现表格的增删改查(仅限前端)
2017/07/04 Javascript
JS实现li标签的删除
2019/04/12 Javascript
js仿360开机效果
2019/12/26 Javascript
Vue + ts实现轮播插件的示例
2020/11/10 Javascript
Python中使用md5sum检查目录中相同文件代码分享
2015/02/02 Python
python实现在字符串中查找子字符串的方法
2015/07/11 Python
python 实现上传图片并预览的3种方法(推荐)
2017/07/14 Python
python机器学习之随机森林(七)
2018/03/26 Python
python实现将json多行数据传入到mysql中使用
2019/12/31 Python
基于Python实现人脸自动戴口罩系统
2020/02/06 Python
python实现ip地址的包含关系判断
2020/02/07 Python
python爬虫把url链接编码成gbk2312格式过程解析
2020/06/08 Python
python爬虫利用代理池更换IP的方法步骤
2021/02/21 Python
HTML5 本地存储实现购物车功能
2017/09/07 HTML / CSS
基于HTML5的WebGL经典3D虚拟机房漫游动画
2017/11/15 HTML / CSS
美国批发零售网站:GearXS
2016/07/26 全球购物
Agoda台湾官网:国内外订房2折起
2018/03/20 全球购物
水上运动奥特莱斯:Wasterports Outlet
2018/08/08 全球购物
UNIX操作系统结构由哪几部分组成
2016/02/17 面试题
学前教育学生自荐信范文
2013/12/31 职场文书
大学学风建设方案
2014/05/04 职场文书
询价采购方案
2014/06/09 职场文书
社会工作专业自荐信
2014/09/26 职场文书
反对四风问题自我剖析材料
2014/09/29 职场文书
第一节英语课开场白
2015/06/01 职场文书
2016年春季趣味运动会开幕词
2016/03/04 职场文书
Matlab求解数组中的最大值及它所在的具体位置
2021/04/16 Python