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 相关文章推荐
破解Session cookie的方法
Jul 28 Javascript
利用ASP发送和接收XML数据的处理方法与代码
Nov 13 Javascript
屏蔽网页右键复制和ctrl+c复制的js代码
Jan 04 Javascript
jQuery遍历json中多个map的方法
Feb 12 Javascript
JS实现根据用户输入分钟进行倒计时功能
Nov 14 Javascript
js学习之----深入理解闭包
Nov 21 Javascript
Javascript oop设计模式 面向对象编程简单实例介绍
Dec 13 Javascript
MUI 上拉刷新/下拉加载功能实例代码
Apr 13 Javascript
关于HTML5的data-*自定义属性的总结
May 05 Javascript
Bootstrap Table实现定时刷新数据的方法
Aug 13 Javascript
JS实现的tab切换并显示相应内容模块功能示例
Aug 03 Javascript
微信小程序缓存支持二次开发封装实现解析
Dec 16 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
攻克CakePHP系列一 连接MySQL数据库
2008/10/22 PHP
用sql命令修改数据表中的一个字段为非空(not null)的语句
2010/06/04 PHP
php面象对象数据库操作类实例
2014/12/02 PHP
PHP生成word文档的三种实现方式
2016/11/14 PHP
laravel 实现关闭CSRF(全部关闭、部分关闭)
2019/10/21 PHP
Laravel5.1 框架控制器基础用法实例分析
2020/01/04 PHP
JQuery Tips(2) 关于$()包装集你不知道的
2009/12/14 Javascript
jquery实用代码片段集合
2010/08/12 Javascript
js DOM 元素ID就是全局变量
2012/09/20 Javascript
JS Replace()的高级使用方法介绍
2013/06/29 Javascript
在JS中解析HTML字符串示例代码
2014/04/16 Javascript
jQuery学习笔记之jQuery.fn.init()的参数分析
2014/06/09 Javascript
一张Web前端的思维导图分享
2015/07/03 Javascript
jQuery实现指定内容滚动同时左侧或其它地方不滚动的方法
2015/08/08 Javascript
js实现C#的StringBuilder效果完整实例
2015/12/22 Javascript
JavaScript编写带旋转+线条干扰的验证码脚本实例
2016/05/30 Javascript
JavaScript基础重点(必看)
2016/07/09 Javascript
前端框架Vue.js中Directive知识详解
2016/09/12 Javascript
nodeJs链接Mysql做增删改查的简单操作
2017/02/04 NodeJs
基于rem的移动端响应式适配方案(详解)
2017/07/07 Javascript
Webpack4 使用Babel处理ES6语法的方法示例
2019/03/07 Javascript
JavaScript链式调用原理与实现方法详解
2020/05/16 Javascript
全面解读Python Web开发框架Django
2014/06/30 Python
python学习教程之Numpy和Pandas的使用
2017/09/11 Python
python实现Adapter模式实例代码
2018/02/09 Python
Python基于百度云文字识别API
2018/12/13 Python
Python内置函数property()如何使用
2020/09/01 Python
Python获取指定网段正在使用的IP
2020/12/14 Python
CSS3属性background-size使用指南
2014/12/09 HTML / CSS
英国文具、办公用品和科技商店:Ryman
2018/09/27 全球购物
Linux的主要特性
2014/10/06 面试题
旅游与酒店管理的自我评价分享
2013/11/03 职场文书
合作意向协议书
2015/01/29 职场文书
给朋友的道歉短信
2015/05/12 职场文书
2016年党员干部公开承诺书
2016/03/24 职场文书
Java获取字符串编码格式实现思路
2022/09/23 Java/Android