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 相关文章推荐
javascript字符串拼接的效率问题
Dec 25 Javascript
jquery 插件学习(一)
Aug 06 Javascript
javascript浏览器兼容教程之事件处理
Jun 09 Javascript
javascript比较两个日期的先后示例代码
Dec 31 Javascript
javascript实现链接单选效果的方法
May 13 Javascript
jquery插件jquery.confirm弹出确认消息
Dec 22 Javascript
Summernote实现图片上传功能的简单方法
Jul 11 Javascript
微信小程序分享海报生成的实现方法
Dec 10 Javascript
React降级配置及Ant Design配置详解
Dec 27 Javascript
layUI使用layer.open,在content打开数据表格,获取值并返回的方法
Sep 26 Javascript
laravel实现中文和英语互相切换的例子
Sep 30 Javascript
微信小程序实现点击页面出现文字
Sep 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新手上路(二)
2006/10/09 PHP
php异常:Parse error: syntax error, unexpected T_ENCAPSED_AND_WHITESPACE  eval()'d code error
2011/05/19 PHP
Zend Framework教程之Zend_Registry对象用法分析
2016/03/22 PHP
提交表单后 PHP获取提交内容的实现方法
2016/05/25 PHP
Thinkphp5.0 框架Model模型简单用法分析
2019/10/11 PHP
用js实现手把手教你月入万刀(转贴)
2007/11/07 Javascript
很好用的js日历算法详细代码
2013/03/07 Javascript
图片img的src不变让浏览器重新加载实现方法
2013/03/29 Javascript
如何用jquery控制表格奇偶行及活动行颜色
2014/04/20 Javascript
手机号码,密码正则验证
2014/09/04 Javascript
JS实现3D图片旋转展示效果代码
2015/09/22 Javascript
老生常谈原生JS执行环境与作用域
2016/11/22 Javascript
JS公共小方法之判断对象是否为domElement的实例
2016/11/25 Javascript
bootstrap datetimepicker实现秒钟选择下拉框
2017/01/05 Javascript
webpack 单独打包指定JS文件的方法
2018/02/22 Javascript
React学习笔记之高阶组件应用
2018/06/02 Javascript
JavaScript作用域、闭包、对象与原型链概念及用法实例总结
2018/08/20 Javascript
NodeJS模块与ES6模块系统语法及注意点详解
2019/01/04 NodeJs
详解bootstrap-fileinput文件上传控件的亲身实践
2019/03/21 Javascript
vue实现浏览器全屏展示功能
2019/11/27 Javascript
js简单实现自动生成表格功能示例
2020/06/02 Javascript
在vue中封装的弹窗组件使用队列模式实现方法
2020/07/23 Javascript
详解阿里Node.js技术文档之process模块学习指南
2021/01/04 Javascript
Python中解析JSON并同时进行自定义编码处理实例
2015/02/08 Python
python list转置和前后反转的例子
2019/08/26 Python
python字典的值可以修改吗
2020/06/29 Python
详解CSS3中Media Queries的相关使用
2015/07/17 HTML / CSS
应届生护士求职信
2013/11/01 职场文书
手机业务员岗位职责
2013/12/13 职场文书
单身联谊活动方案
2014/01/29 职场文书
防灾减灾活动总结
2014/08/30 职场文书
大学生考试作弊检讨书1000字
2014/10/14 职场文书
好媳妇事迹材料
2014/12/24 职场文书
云冈石窟导游词
2015/02/04 职场文书
2015年财务个人工作总结范文
2015/05/22 职场文书
导游带团欢迎词
2015/09/30 职场文书