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 innerText和innerHtml应用
Jan 28 Javascript
五段实用的js高级技巧
Dec 20 Javascript
子窗体与父窗体传值示例js代码
Aug 01 Javascript
animate 实现滑动切换效果【实例代码】
May 05 Javascript
jQuery的each循环用法简单示例
Jun 12 Javascript
详解使用nvm管理多版本node的方法
Aug 30 Javascript
浅谈vue 单文件探索
Sep 05 Javascript
jquery获取元素到屏幕四周可视距离的方法
Sep 05 jQuery
微信小程序实现两个页面传值的方法分析
Dec 11 Javascript
JS多个异步请求 按顺序执行next实现解析
Sep 16 Javascript
用vue写一个日历
Nov 02 Javascript
javascript实现倒计时提示框
Mar 02 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二分法在IP地址查询中的应用
2008/08/12 PHP
php的ZipArchive类用法实例
2014/10/20 PHP
yii2实现 &quot;上一篇,下一篇&quot; 功能的代码实例
2017/02/04 PHP
php实现的中文分词类完整实例
2017/02/06 PHP
php写app接口并返回json数据的实例(分享)
2017/05/20 PHP
详解如何在云服务器上部署Laravel
2017/06/30 PHP
Thinkphp结合AJAX长轮询实现PC与APP推送详解
2017/07/31 PHP
php用xpath解析html的代码实例讲解
2019/02/14 PHP
Laravel相关的一些故障解决
2020/08/19 PHP
javascript 字符 Escape,encodeURI,encodeURIComponent
2009/07/09 Javascript
javascript中的undefined 与 null 的区别  补充篇
2010/03/17 Javascript
JavaScript游戏之优化篇
2010/11/08 Javascript
extjs render 用法介绍
2013/09/11 Javascript
jQuery操作DOM之获取表单控件的值
2015/01/23 Javascript
复杂的javascript窗口分帧解析
2016/02/19 Javascript
JavaScript实现阿拉伯数字和中文数字互相转换
2016/06/12 Javascript
微信小程序 仿猫眼实现实例代码
2017/03/14 Javascript
Nodejs基于LRU算法实现的缓存处理操作示例
2017/03/17 NodeJs
Angular获取手机验证码实现移动端登录注册功能
2017/05/17 Javascript
页面点击小红心js实现代码
2018/05/26 Javascript
小程序点赞收藏功能的实现代码示例
2018/09/07 Javascript
基于elementUI使用v-model实现经纬度输入的vue组件
2019/05/12 Javascript
JS实现简单日历特效
2020/01/03 Javascript
jQuery实现鼠标移入显示蒙版效果
2020/01/11 jQuery
Vue filter 过滤器、以及在table中的使用介绍
2020/09/07 Javascript
pyhton列表转换为数组的实例
2018/04/04 Python
Python 读取某个目录下所有的文件实例
2018/06/23 Python
树莓派采用socket方式文件传输(python)
2019/06/22 Python
tensorflow 实现自定义layer并添加到计算图中
2020/02/04 Python
澳大利亚票务和娱乐市场领导者:Ticketmaster
2017/03/03 全球购物
英国安全产品购物网站:The Safe Shop
2017/03/20 全球购物
计算机专业自荐信
2013/10/14 职场文书
企业节能减排实施方案
2014/03/19 职场文书
工作业绩不及格检讨书
2014/10/28 职场文书
2015年敬老月活动总结
2015/03/27 职场文书
SqlServer 垂直分表(减少程序改动)
2021/04/16 SQL Server