JavaScript三种绑定事件方式及相互之间的区别分析


Posted in Javascript onJanuary 10, 2017

本文实例讲述了JavaScript三种绑定事件方式及相互之间的区别。分享给大家供大家参考,具体如下:

JavaScript三种绑定事件的方式:

1.

<div id="btn" onclick="clickone()"></div> //直接在DOM里绑定事件
<script>
function clickone(){ alert("hello"); }
</script>

2.

<div id="btn"></div>
<script>
document.getElementById("btn").onclick = function(){ alert("hello"); } //脚本里面绑定
</script>

3.

<div id="btn"></div>
<script>
document.getElementById("btn").addeventlistener("click",clickone,false); //通过侦听事件处理相应的函数
function clickone(){ alert("hello"); }
</script>

那么问题来了,1 和 2 的方式是我们经常用到的,那么既然已经有两种绑定事件的方法为什么还要有第三种呢?答案是这样的:

用 "addeventlistener" 可以绑定多次同一个事件,且都会执行,而在DOM结构如果绑定两个 "onclick" 事件,只会执行第一个;在脚本通过匿名函数的方式绑定的只会执行最后一个事件。

1.

<div id="btn" onclick="clickone()" onclick="clicktwo()"></div>
<script>
function clickone(){ alert("hello"); } //执行这个
function clicktwo(){ alert("world!"); }
</script>

2.

<div id="btn"></div>
<script>
document.getElementById("btn").onclick = function(){ alert("hello"); }
document.getElementById("btn").onclick = function(){ alert("world"); } //执行这个
</script>

3.

<div id="btn"></div>
<script>
document.getElementById("btn").addeventlistener("click",clickone,false);
function clickone(){ alert("hello"); } //先执行
document.getElementById("btn").addeventlistener("click",clicktwo,false);
function clicktwo(){ alert("world"); } //后执行
</script>

以上;可根据场景灵活选择。

PS:关于javascript常用事件及相关说明还可参考本站在线工具:

javascript事件与功能说明大全:
http://tools.3water.com/table/javascript_event

希望本文所述对大家JavaScript程序设计有所帮助。

Javascript 相关文章推荐
JS对select控件option选项的增删改查示例代码
Oct 21 Javascript
关闭浏览器时提示onbeforeunload事件
Dec 25 Javascript
值得分享和收藏的Bootstrap学习教程
May 12 Javascript
很实用的js选项卡切换效果
Aug 12 Javascript
js正则表达式注册页面表单验证
Oct 11 Javascript
jquery动态添加文本并获取值的方法
Oct 12 Javascript
浅谈EasyUI常用控件的禁用方法
Nov 09 Javascript
vue封装第三方插件并发布到npm的方法
Sep 25 Javascript
每个 JavaScript 工程师都应懂的33个概念
Oct 22 Javascript
原生JS实现逼真的图片3D旋转效果详解
Feb 16 Javascript
微信小游戏之使用three.js 绘制一个旋转的三角形
Jun 10 Javascript
vue 递归组件的简单使用示例
Jan 14 Vue.js
详解使用Vue.Js结合Jquery Ajax加载数据的两种方式
Jan 10 #Javascript
JavaScript获取键盘按键的键码(参照表)
Jan 10 #Javascript
详解vue之页面缓存问题(基于2.0)
Jan 10 #Javascript
jQuery验证表单格式的使用方法
Jan 10 #Javascript
Html5 js实现手风琴效果
Apr 17 #Javascript
jquery做个日期选择适用于手机端示例
Jan 10 #Javascript
javascript删除html标签函数cIsHTML
Jan 09 #Javascript
You might like
攻克CakePHP系列三 表单数据增删改
2008/10/22 PHP
php数组合并的二种方法
2014/03/21 PHP
Yii框架中 find findAll 查找出制定的字段的方法对比
2014/09/10 PHP
JavaScript 事件查询综合
2009/07/13 Javascript
javascript Onunload与Onbeforeunload使用小结
2009/12/31 Javascript
javascript中类的定义及其方式(《javascript高级程序设计》学习笔记)
2011/07/04 Javascript
jquery实现鼠标滑过显示提示框的方法
2015/02/05 Javascript
js跨域请求的5中解决方式
2015/07/02 Javascript
Nodejs中的this详解
2016/03/26 NodeJs
js HTML5 Canvas绘制转盘抽奖
2020/09/13 Javascript
jquery 中toggle的2种用法详解(推荐)
2016/09/02 Javascript
JavaScript基础——使用Canvas绘图
2016/11/02 Javascript
jQuery得到多个值只能用取Class ,不能用取ID的方法
2016/12/04 Javascript
NodeJS设计模式总结【单例模式,适配器模式,装饰模式,观察者模式】
2017/09/06 NodeJs
微信小程序实现点击文字页面跳转功能【附源码下载】
2017/12/12 Javascript
angularJS的radio实现单项二选一的使用方法
2018/02/28 Javascript
webpack4打包vue前端多页面项目
2018/09/17 Javascript
微信小程序实现提交input信息到后台的方法示例
2019/01/19 Javascript
vue组件之间的数据传递方法详解
2019/04/19 Javascript
Node.js API详解之 zlib模块用法分析
2020/05/19 Javascript
JS数组及对象遍历方法代码汇总
2020/06/16 Javascript
python3 拼接字符串的7种方法
2018/09/12 Python
Python利用ORM控制MongoDB(MongoEngine)的步骤全纪录
2018/09/13 Python
python在openstreetmap地图上绘制路线图的实现
2019/07/11 Python
解决IDEA 的 plugins 搜不到任何的插件问题
2020/05/04 Python
python 解决函数返回return的问题
2020/12/05 Python
CSS3实现10种Loading效果
2016/07/11 HTML / CSS
Moda Italia荷兰:意大利男士服装
2019/08/31 全球购物
初中新生军训方案
2014/05/13 职场文书
学术诚信承诺书
2014/05/26 职场文书
委托书格式
2014/08/01 职场文书
会计电算化实训报告
2014/11/04 职场文书
会议通知
2015/04/15 职场文书
2015年学校信息技术工作总结
2015/05/25 职场文书
Java集成swagger文档组件
2021/06/28 Java/Android
Python实现文字pdf转换图片pdf效果
2022/04/03 Python