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 相关文章推荐
解析jQuery与其它js(Prototype)库兼容共存
Jul 04 Javascript
兼容主流浏览器的JS复制内容到剪贴板
Dec 12 Javascript
jQuery实现渐变弹出层和弹出菜单的方法
Feb 20 Javascript
jQuery支持添加事件的日历特效代码分享(3种样式)
Aug 24 Javascript
基于jQuery实现的无刷新表格分页实例
Feb 17 Javascript
详解自动生成博客目录案例
Dec 09 Javascript
Sequelize中用group by进行分组聚合查询
Dec 12 Javascript
JavaScript中的call和apply的用途以及区别
Jan 11 Javascript
bootstrap手风琴制作方法详解
Jan 11 Javascript
详解基于vue-router的动态权限控制实现方案
Sep 28 Javascript
微信小程序开发之转发分享功能
Oct 22 Javascript
Vue axios 跨域请求无法带上cookie的解决
Sep 08 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
深入Nginx + PHP 缓存详解
2013/07/11 PHP
实现PHP多线程异步请求的3种方法
2014/01/17 PHP
EXTJS内使用ACTIVEX控件引起崩溃问题的解决方法
2010/03/31 Javascript
jQuery选择器的工作原理和优化分析
2011/07/25 Javascript
jQuery操作 input type=checkbox的实现代码
2012/06/14 Javascript
Jquery操作radio的简单实例
2014/01/06 Javascript
图片放大镜jquery.jqzoom.js使用实例附放大镜图标
2014/06/19 Javascript
jQuery插件实现静态HTML验证码校验
2015/11/06 Javascript
微信小程序 Page()函数详解
2016/10/17 Javascript
浅谈Angular中ngModel的$render
2016/10/24 Javascript
关于Vue.js 2.0的Vuex 2.0 你需要更新的知识库
2016/11/30 Javascript
详解Vue 实例中的生命周期钩子
2017/03/21 Javascript
Next.js实现react服务器端渲染的方法示例
2019/01/06 Javascript
NodeJs 模仿SIP话机注册的方法
2019/06/21 NodeJs
微信小程序入口场景的问题集合与相关解决方法
2019/06/26 Javascript
countup.js实现数字动态叠加效果
2019/10/17 Javascript
JavaScript编码小技巧分享
2020/09/17 Javascript
JavaScript缓动动画函数的封装方法
2020/11/25 Javascript
[14:20]刀塔大凶女神互压各路奇葩屌丝
2014/05/16 DOTA
浅谈python对象数据的读写权限
2016/09/12 Python
python 调用有道api接口的方法
2019/01/03 Python
Python读取指定日期邮件的实例
2019/02/01 Python
对python中的try、except、finally 执行顺序详解
2019/02/18 Python
Django 路由控制的实现
2019/07/17 Python
用python的turtle模块实现给女票画个小心心
2019/11/23 Python
使用Django和Postgres进行全文搜索的实例代码
2020/02/13 Python
基于Python制作一副扑克牌过程详解
2020/10/19 Python
利用Opencv实现图片的油画特效实例
2021/02/28 Python
详解HTML5 LocalStorage 本地存储
2016/12/23 HTML / CSS
俄罗斯苹果优质经销商商店:iPort
2020/05/27 全球购物
社会实践活动总结格式
2015/05/11 职场文书
爱心捐款倡议书:点燃希望,传递温暖
2019/11/04 职场文书
三十年再续同学情倡议书
2019/11/27 职场文书
Django实现翻页的示例代码
2021/05/24 Python
Python趣味挑战之给幼儿园弟弟生成1000道算术题
2021/05/28 Python
浅谈如何提高PHP代码质量之端到端集成测试
2021/05/28 PHP