事件绑定的几种方法
时间:2019-06-18
本文章向大家介绍事件绑定的几种方法,主要包括事件绑定的几种方法使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
内联 HTML 属性法
最简便也最难以维护的方式就是通过标签的特定属性来添加事件,例如:
<div onclick="alert('Ouch!')">click</div>
在这种情况下,只要该所在的区域被用户单击了,就会触发该标签的单击事件。与此同时,其 onclick 属性中的字符串就会被当做 JavaScript 代码来执行。尽管,这里并没有显式指定监听单击事件的函数,但相关环境在幕后已经为此创建了一个函数,函数的代码就等于我们为 onclick 属性设定的值。
元素属性法
关于单击事件函数,我们还有另一种编写方式,那就是将其设置为 DOM 元素节点的属性。例如:
<div id="my-div">click</div>
<script> var myelement = document.getElementById('my-div'); myelement.onclick = function() { alert('Ouch!'); alert('And double ouch!'); } </script>
事实上这也是一种更好的选择。因为这种方式可以帮助我们理清与相关JavaScript代码之间的关系。一般情况下。我们总是希望页面中的内容归 HTML、行为归 JavaScript、格式归 CSS,并且三者之间应该尽可能彼此独立,互不干扰。
但这个方法也是有缺点的,因为这种做法只允许我们指定一个事件函数。
DOM的事件监听
对于浏览器来说,最佳的事件处理方式莫过于出自DOM Level2的事件监听器了。通过这种方式,我们可以为一个事件指定多个监听器函数。当事件被触发时,所有的监听器函数都会被执行。而且这些监听器不需要知道彼此的存在,它们的工作是彼此独立的。任何一个监听器的加入或退出都不会影响其它监听器的工作。
<p id="closer">final</p>
我们可以通过 addEventListener()方法为单击事件赋予相关的监听器。下面我们尝试赋予两个监听器:
var mypara = document.getElementById('closer'); mypara.addEventListener('click', function(){ alert('Boo!') }, false); mypara.addEventListener( 'click', console.log.bind(console), false);
如您所见,addEventListeners()方法是基于某一节点对象来调用的。它的首参数是一个事件类型的参数,第二个参数是一个函数指针,它可以是 function(){alert('Boo!')}这样的匿数,也可以是 console.log()这样的现存函数。该监听器函数会在相关事件发生时被调用,调用时会接收到一个事件对象参数。如果我们运行上面的代码,就可以在控制台看到所记录的事件对象。单击事件对象可以查看其属性
原文地址:https://www.cnblogs.com/weizhanyu/p/11045264.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Android Studio实现简单计算器APP
- 基于PHP实现微信小程序客服消息功能
- python gstreamer实现视频快进/快退/循环播放功能
- php tpl模板引擎定义与使用示例
- ThinkPHP5&5.1框架关联模型分页操作示例
- Android实现简易计算器(可以实现连续计算)
- PHP实现提高SESSION响应速度的几种方法详解
- ThinkPHP5.1框架数据库链接和增删改查操作示例
- 新版Flutter集成到已有Android项目的实现
- PHP基于session.upload_progress 实现文件上传进度显示功能详解
- Android实现加法计算器
- Android使用Realm数据库实现App中的收藏功能(代码详解)
- Android实现简单加法计算器
- Android实现两个数相加功能
- 基于Android studio3.6的JNI教程之ncnn之语义分割ENet