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 相关文章推荐
JavaScript DOM 添加事件
Feb 14 Javascript
JQuery 学习笔记 选择器之五
Jul 23 Javascript
一个挺有意思的Javascript小问题说明
Sep 26 Javascript
深入理解JavaScript系列(6):S.O.L.I.D五大原则之单一职责SRP
Jan 15 Javascript
jQuery Deferred和Promise创建响应式应用程序详细介绍
Mar 05 Javascript
JS注册/移除事件处理程序(ExtJS应用程序设计实战)
May 07 Javascript
jQuery超酷平面式时钟效果代码分享
Mar 30 Javascript
浅谈bootstrap源码分析之tab(选项卡)
Jun 06 Javascript
js弹性势能动画之抛物线运动实例详解
Jul 27 Javascript
React Native 通告消息竖向轮播组件的封装
Aug 25 Javascript
简单的Vue SSR的示例代码
Jan 12 Javascript
Vue自定义组件的四种方式示例详解
Feb 28 Javascript
详解使用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
在apache下限制每个虚拟主机的并发数!!!!
2006/10/09 PHP
php面向对象全攻略 (十二) 抽象方法和抽象类
2009/09/30 PHP
PHP 数组基础知识小结
2010/08/20 PHP
PHP读取数据库并按照中文名称进行排序实现代码
2013/01/29 PHP
thinkPHP中session()方法用法详解
2016/12/08 PHP
JS操作XML中DTD介绍及使用方法分析
2019/07/04 PHP
jQuery 页面载入进度条实现代码
2009/02/08 Javascript
js本身的局限性 别让javascript做太多事
2010/03/23 Javascript
JS禁用浏览器退格键实现思路及代码
2013/10/29 Javascript
JavaScript操作XML/HTML比较常用的对象属性集锦
2015/10/30 Javascript
详解JavaScript中的Unescape()和String() 函数
2015/11/09 Javascript
JavaScript 控制字体大小设置的方法
2016/11/23 Javascript
深入理解vue Render函数
2017/07/19 Javascript
JavaScript实现简单图片轮播效果
2017/08/21 Javascript
关于vue单文件中引用路径的处理方法
2018/01/08 Javascript
Vue.js 实现微信公众号菜单编辑器功能(二)
2018/05/08 Javascript
axios的拦截请求与响应方法
2018/08/11 Javascript
python自动zip压缩目录的方法
2015/06/28 Python
Python 输出时去掉列表元组外面的方括号与圆括号的方法
2018/12/24 Python
python实现五子棋小游戏
2020/03/25 Python
在python image 中安装中文字体的实现方法
2019/08/22 Python
使用tensorflow框架在Colab上跑通猫狗识别代码
2020/04/26 Python
django在开发中取消外键约束的实现
2020/05/20 Python
H&M美国官网:欧洲最大的服饰零售商
2016/09/07 全球购物
美国尼曼百货官网:Neiman Marcus
2019/09/05 全球购物
Linux内核产生并发的原因
2016/11/08 面试题
经济管理专业毕业生推荐信
2013/11/11 职场文书
房屋买卖协议书
2014/04/10 职场文书
《鲁班和橹板》教学反思
2014/04/27 职场文书
舞蹈专业求职信
2014/06/13 职场文书
单位工作证明书格式
2014/10/04 职场文书
2014年初一班主任工作总结
2014/11/08 职场文书
2015年试用期自我评价范文
2015/03/10 职场文书
2016公司中秋节寄语
2015/12/07 职场文书
MySQL系列之十三 MySQL的复制
2021/07/02 MySQL
一篇文章告诉你如何实现Vue前端分页和后端分页
2022/02/18 Vue.js