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 相关文章推荐
JQuery Ajax 跨域访问的解决方案
Mar 12 Javascript
浏览器缩放检测的js代码
Sep 28 Javascript
JavaScript原生对象之Date对象的属性和方法详解
Mar 13 Javascript
JavaScript运算符小结
Jun 03 Javascript
JS实现模拟百度搜索“2012世界末日”网页地震撕裂效果代码
Oct 31 Javascript
js实现C#的StringBuilder效果完整实例
Dec 22 Javascript
BootstrapTable与KnockoutJS相结合实现增删改查功能【二】
May 10 Javascript
JS图片定时翻滚效果实现方法
Jun 21 Javascript
基于js文件加载优化(详解)
Jan 03 Javascript
解决vue-photo-preview 异步图片放大失效的问题
Jul 29 Javascript
在vue中使用console.log无效的解决
Aug 09 Javascript
微信小程序基于高德地图API实现天气组件(动态效果)
Oct 22 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和Mysqlweb应用开发核心技术 第1部分 Php基础-1 开始了解php
2011/07/03 PHP
用php实现百度网盘图片直链的代码分享
2012/11/01 PHP
浅谈php://filter的妙用
2019/03/05 PHP
用js实现的一个Flash滚动轮换显示图片代码生成器
2007/03/14 Javascript
各种效果的jquery ui(接口)介绍
2008/09/17 Javascript
jquery实现excel导出的方法
2013/04/04 Javascript
4种JavaScript实现简单tab选项卡切换的方法
2016/01/06 Javascript
基于JavaScript实现高德地图和百度地图提取行政区边界经纬度坐标
2016/01/22 Javascript
BootStrap实用代码片段之一
2016/03/22 Javascript
基于js对象,操作属性、方法详解
2016/08/11 Javascript
JS实现焦点图轮播效果的方法详解
2016/12/19 Javascript
jquery编写日期选择器
2017/03/16 Javascript
微信小程序 支付后台java实现实例
2017/05/09 Javascript
JavaScript中var、let、const区别浅析
2018/06/24 Javascript
Vue+element-ui 实现表格的分页功能示例
2018/08/18 Javascript
jQuery实现表格隔行换色
2018/09/01 jQuery
vue-test-utils初使用详解
2019/05/23 Javascript
使用vue自定义指令开发表单验证插件validate.js
2019/05/23 Javascript
Javascript组合继承方法代码实例解析
2020/04/02 Javascript
[36:05]完美世界DOTA2联赛循环赛 Forest vs DM 第一场 11.06
2020/11/06 DOTA
Python去除列表中重复元素的方法
2015/03/20 Python
使用Python中的线程进行网络编程的入门教程
2015/04/15 Python
浅谈Python使用Bottle来提供一个简单的web服务
2017/12/27 Python
python判断所输入的任意一个正整数是否为素数的两种方法
2019/06/27 Python
Python实现Selenium自动化Page模式
2019/07/14 Python
你需要学会的8个Python列表技巧
2020/06/24 Python
用CSS3实现Win8风格的方格导航菜单效果
2013/04/10 HTML / CSS
River Island美国官网:英国高街时尚品牌
2018/09/04 全球购物
KIKO MILANO西班牙官网:意大利领先的化妆品和护肤品品牌
2019/05/03 全球购物
Hotels.com越南:酒店预订
2019/10/29 全球购物
自我评价的写作规则
2014/01/06 职场文书
技术负责人任命书
2014/06/05 职场文书
2014年超市工作总结
2014/11/19 职场文书
爱牙日宣传活动总结
2015/02/05 职场文书
Java 超详细讲解hashCode方法
2022/04/07 Java/Android
windows server2012 R2下安装PaddleOCR服务的的详细步骤
2022/09/23 Servers