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实现验证IP地址等相关信息代码
May 10 Javascript
jQuery实现的网页竖向菜单效果代码
Aug 26 Javascript
JS生成和下载二维码的代码
Dec 07 Javascript
js模拟支付宝密码输入框
Apr 11 Javascript
Vue-resource拦截器判断token失效跳转的实例
Oct 27 Javascript
node打造微信个人号机器人的方法示例
Apr 26 Javascript
vue-router 起步步骤详解
Mar 26 Javascript
vue elementUI table表格数据 滚动懒加载的实现方法
Apr 04 Javascript
Vue+Express实现登录注销功能的实例代码
May 05 Javascript
vue-form表单验证是否为空值的实例详解
Oct 29 Javascript
vue实现购物车加减
May 30 Javascript
React自定义hook的方法
Jun 25 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
PHP实现异步调用方法研究与分享
2011/10/27 PHP
利用PHP函数计算中英文字符串长度的方法
2014/11/11 PHP
CodeIgniter集成smarty的方法详解
2016/05/26 PHP
ThinkPHP 模板substr的截取字符串函数详解
2017/01/09 PHP
php 删除指定文件夹的实例讲解
2017/07/25 PHP
PHP实现绘制二叉树图形显示功能详解【包括二叉搜索树、平衡树及红黑树】
2017/11/16 PHP
使用laravel根据用户类型来显示或隐藏字段
2019/10/17 PHP
Google Map V3 绑定气泡窗口(infowindow)Dom事件实现代码
2013/04/26 Javascript
鼠标左键单击冲突的问题解决方法(防止冒泡)
2014/05/14 Javascript
JavaScript支持的最大递归调用次数分析
2014/06/24 Javascript
简介alert()与console.log()的不同
2015/08/26 Javascript
js实现简单折叠、展开菜单的方法
2015/08/28 Javascript
jQuery 1.9.1源码分析系列(十)事件系统之绑定事件
2015/11/19 Javascript
js实现打地鼠小游戏
2017/02/13 Javascript
JavaScript你不知道的一些数组方法
2017/08/18 Javascript
web前端vue filter 过滤器
2018/01/12 Javascript
JS获取本地地址及天气的方法实例小结
2019/05/10 Javascript
基于Node.js的大文件分片上传示例
2019/06/19 Javascript
Django静态资源URL STATIC_ROOT的配置方法
2014/11/08 Python
python 网络编程常用代码段
2016/08/28 Python
Python登录并获取CSDN博客所有文章列表代码实例
2017/12/28 Python
Anaconda入门使用总结
2018/04/05 Python
Pycharm使用之设置代码字体大小和颜色主题的教程
2019/07/12 Python
Python检查图片是否损坏及图片类型是否正确过程详解
2019/09/30 Python
判断Threading.start新线程是否执行完毕的实例
2020/05/02 Python
css3 自定义字体font-face使用介绍
2014/05/14 HTML / CSS
html5桌面通知(Web Notifications)实例解析
2014/07/07 HTML / CSS
关于解决iframe标签嵌套问题的解决方法
2020/03/04 HTML / CSS
请解释在new与override的区别
2012/10/29 面试题
电子商务专业实习生自我鉴定
2013/09/24 职场文书
标准毕业生自荐信范文
2013/11/04 职场文书
小学语文教学反思
2014/02/10 职场文书
公务员学习习总书记“三严三实”思想汇报
2014/09/19 职场文书
施工员岗位职责
2015/02/10 职场文书
道歉信怎么写
2015/05/12 职场文书
小学运动会宣传稿
2015/07/23 职场文书