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 中的类和闭包
Jan 08 Javascript
js与jQuery 获取父窗、子窗的iframe
Dec 20 Javascript
js jquery ajax的几种用法总结(及优缺点介绍)
Jan 28 Javascript
情人节单身的我是如何在敲完代码之后收到12束玫瑰的(javascript)
Aug 21 Javascript
JavaScritp添加url参数并将参数加入到url中及更改url参数的方法
Oct 26 Javascript
浅谈JavaScript中的分支结构
Jul 01 Javascript
Vuex之理解Getters的用法实例
Apr 19 Javascript
Angular CLI 安装和使用教程
Sep 13 Javascript
Vue2.5学习笔记之如何在项目中使用和配置Vue
Sep 26 Javascript
JavaScript实现表单注册、表单验证、运算符功能
Oct 15 Javascript
vue实现父子组件之间的通信以及兄弟组件的通信功能示例
Jan 29 Javascript
javascript+HTML5 canvas绘制时钟功能示例
May 15 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+DBM的同学录程序(2)
2006/10/09 PHP
php.ini 中文版
2006/10/28 PHP
二招解决php乱码问题
2012/03/25 PHP
iis下php mail函数的sendmail配置方法(官方推荐)
2012/04/25 PHP
小谈php正则提取图片地址
2014/03/27 PHP
详解cookie验证的php应用的一种SSO解决办法
2017/10/20 PHP
js常用自定义公共函数汇总
2014/01/15 Javascript
javascript实现数字验证码的简单实例
2014/02/10 Javascript
JavaScript的21条基本知识点
2014/03/04 Javascript
jQuery基于函数重载实现自定义Alert函数样式的方法
2016/07/27 Javascript
jQuery展示表格点击变色、全选、删除
2017/01/05 Javascript
ionic2中使用自动生成器的方法
2018/03/04 Javascript
微信小程序 textarea 层级过高问题简单解决方案
2019/10/14 Javascript
JS前端广告拦截实现原理解析
2020/02/17 Javascript
VueQuillEditor富文本上传图片(非base64)
2020/06/03 Javascript
[01:03:31]DOTA2上海特级锦标赛B组资格赛#1 Alliance VS Fnatic第二局
2016/02/26 DOTA
[09:34]2018DOTA2国际邀请赛寻真——永不放弃的iG
2018/08/14 DOTA
Python中asyncore的用法实例
2014/09/29 Python
python简单实现旋转图片的方法
2015/05/30 Python
python实现获取Ip归属地等信息
2016/08/27 Python
python 全文检索引擎详解
2017/04/25 Python
Python单体模式的几种常见实现方法详解
2017/07/28 Python
python数字图像处理之高级形态学处理
2018/04/27 Python
对PyQt5基本窗口控件 QMainWindow的使用详解
2019/06/19 Python
实例详解Python模块decimal
2019/06/26 Python
Python如何筛选序列中的元素的方法实现
2019/07/15 Python
使用Pyhton 分析酒店针孔摄像头
2020/03/04 Python
python中如何设置代码自动提示
2020/07/15 Python
如何让pre和textarea等HTML元素去掉滚动条自动换行自适应文本内容高度
2019/08/01 HTML / CSS
Elemis美国官网:英国的第一豪华护肤品牌
2018/03/15 全球购物
Haglöfs瑞典官方网站:haglofs火柴棍,欧洲顶级户外品牌
2018/10/18 全球购物
韩语专业本科生求职信
2013/10/01 职场文书
致标枪运动员加油稿
2014/02/15 职场文书
开学寄语大全
2014/04/08 职场文书
2014年秋季开学演讲稿
2014/05/24 职场文书
民主生活会意见
2015/06/05 职场文书