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的键盘控制事件说明
Apr 15 Javascript
JQuery+CSS提示框实现思路及代码(纯手工打造)
May 07 Javascript
使用js实现按钮控制文本框加1减1应用于小时+分钟
Dec 09 Javascript
js计算任意值之间随机数的方法
Jan 16 Javascript
JavaScript函数详解
Feb 27 Javascript
jquery验证邮箱格式是否正确实例讲解
Nov 16 Javascript
自定义require函数让浏览器按需加载Js文件
Nov 24 Javascript
Angular2 父子组件通信方式的示例
Jan 29 Javascript
webpack将js打包后的map文件详解
Feb 22 Javascript
使用JS判断移动端手机横竖屏状态
Jul 30 Javascript
如何从零开始手写Koa2框架
Mar 22 Javascript
JavaScript中判断为整数的多种方式及保留两位小数的方法
Sep 09 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 文件状态缓存带来的问题
2008/12/14 PHP
php下统计用户在线时间的一种尝试
2010/08/26 PHP
纯php生成随机密码
2015/10/30 PHP
YII Framework框架教程之使用YIIC快速创建YII应用详解
2016/03/15 PHP
Yii中CGridView禁止列排序的设置方法
2016/07/12 PHP
PHP中大括号'{}'用法实例总结
2017/02/08 PHP
PHP使用file_get_contents发送http请求功能简单示例
2018/04/29 PHP
详解php伪造Referer请求反盗链资源
2019/01/24 PHP
PHP静态方法和静态属性及常量属性的区别与介绍
2019/03/22 PHP
JS event使用方法详解
2008/04/28 Javascript
jQuery中delegate()方法用法实例
2015/01/19 Javascript
jQuery+HTML5实现图片上传前预览效果
2015/08/20 Javascript
jQuery的层级查找方式分析
2016/06/16 Javascript
javaScript实现复选框全选反选事件详解
2020/11/20 Javascript
Angular入口组件(entry component)与声明式组件的区别详解
2018/04/09 Javascript
vue将单页面改造成多页面应用的方法
2018/11/25 Javascript
Vue拖拽组件列表实现动态页面配置功能
2019/06/17 Javascript
jQuery内容选择器与表单选择器实例分析
2019/06/28 jQuery
layui扩展上传组件模拟进度条的方法
2019/09/23 Javascript
[03:12]完美世界DOTA2联赛PWL DAY6集锦
2020/11/05 DOTA
Python Requests安装与简单运用
2016/04/07 Python
Win7下搭建python开发环境图文教程(安装Python、pip、解释器)
2016/05/17 Python
python3监控CentOS磁盘空间脚本
2018/06/21 Python
python修改FTP服务器上的文件名
2019/09/11 Python
TensorFlow Saver:保存和读取模型参数.ckpt实例
2020/02/10 Python
django 实现简单的插入视频
2020/04/07 Python
HTML5 localStorage使用总结
2017/02/22 HTML / CSS
德国宠物用品、宠物食品及水族馆网上商店:ZooRoyal
2017/07/09 全球购物
英国鲜花速递:Serenata Flowers
2018/04/03 全球购物
YOOX台湾:意大利奢侈品电商
2018/10/13 全球购物
数学专业推荐信范文
2013/11/21 职场文书
夜班门卫岗位职责
2013/12/09 职场文书
2015年教师节活动总结
2015/03/20 职场文书
TensorFlow中tf.batch_matmul()的用法
2021/06/02 Python
如何利用python实现Simhash算法
2022/06/28 Python