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扩展 垂直tabLayout实现代码
Jun 21 Javascript
jquery模拟按下回车实现代码
Sep 20 Javascript
使用js判断当前时区TimeZone是否是夏令时
Feb 23 Javascript
JS和函数式语言的三特性
Mar 05 Javascript
JSONP跨域GET请求解决Ajax跨域访问问题
Dec 31 Javascript
浅谈jquery回调函数callback的使用
Jan 30 Javascript
使用JavaScript实现旋转的彩圈特效
Jun 23 Javascript
JavaScript 继承详解(五)
Oct 11 Javascript
浅谈js算法和流程控制
Dec 29 Javascript
JavaScript中捕获与冒泡详解及实例
Feb 03 Javascript
JS实现的四级密码强度检测功能示例
May 11 Javascript
详解微信小程序Radio选中样式切换
Jul 06 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开发注意事项总结
2015/02/04 PHP
PHP面向对象程序设计__tostring()和__invoke()用法分析
2019/06/12 PHP
JQuery将文本转化成JSON对象需要注意的问题
2011/05/09 Javascript
jQuery代码优化 选择符篇
2011/11/01 Javascript
jQuery 获取URL的GET参数值的小例子
2013/04/18 Javascript
node.js入门教程迷你书、node.js入门web应用开发完全示例
2014/04/06 Javascript
jQuery实现鼠标滑过Div层背景变颜色的方法
2015/02/17 Javascript
Jquery使用val方法读写value值
2015/05/18 Javascript
Javascript实现的简单右键菜单类
2015/09/23 Javascript
JavaScript中获取时间的函数集
2016/08/16 Javascript
vue.js入门教程之计算属性
2016/09/01 Javascript
chrome下判断点击input上标签还是其余标签的实现方法
2016/09/18 Javascript
详解node Async/Await 更好的异步编程解决方案
2018/05/10 Javascript
vue之父子组件间通信实例讲解(props、$ref、$emit)
2018/05/22 Javascript
15分钟深入了解JS继承分类、原理与用法
2019/01/19 Javascript
谈谈为什么你的 JavaScript 代码如此冗长
2019/01/30 Javascript
详解jQuery设置内容和属性
2019/04/11 jQuery
微信小程序自定义可滑动顶部TabBar选项卡实现页面切换功能示例
2019/05/14 Javascript
vue cli3.0 引入eslint 结合vscode使用
2019/05/27 Javascript
p5.js实现故宫橘猫赏秋图动画
2019/10/23 Javascript
编写Python爬虫抓取豆瓣电影TOP100及用户头像的方法
2016/01/20 Python
python leetcode 字符串相乘实例详解
2018/09/03 Python
PyQt5实现从主窗口打开子窗口的方法
2019/06/19 Python
如何爬取通过ajax加载数据的网站
2019/08/15 Python
python 计算积分图和haar特征的实例代码
2019/11/20 Python
Django自关联实现多级联动查询实例
2020/05/19 Python
利用PyTorch实现VGG16教程
2020/06/24 Python
Python爬虫+Tkinter制作一个翻译软件的示例
2021/02/20 Python
用html5绘制折线图的实例代码
2016/03/25 HTML / CSS
Larsson & Jennings官网:现代瑞士钟表匠
2018/03/20 全球购物
以实惠的价格轻松租车,免费取消:Easyrentcars
2019/07/16 全球购物
奥地利时尚、美容、玩具和家居之家:Kastner & Öhler
2020/04/26 全球购物
网络编辑岗位职责范本
2014/02/10 职场文书
2014年组织委员工作总结
2014/12/01 职场文书
预备党员转正材料
2014/12/19 职场文书
股东大会通知
2015/04/24 职场文书