javascript中attachEvent用法实例分析


Posted in Javascript onMay 14, 2015

本文实例讲述了javascript中attachEvent用法。分享给大家供大家参考。具体分析如下:

一般我们在JS中添加事件,是这样子的

obj.onclick=method

这种绑定事件的方式,兼容主流浏览器,但如果一个元素上添加多次同一事件呢?

obj.onclick=method1
obj.onclick=method2
obj.onclick=method3

如果这样写,那么只有最后绑定的事件,这里是method3会被执行,这个时候我们就不能用onclick这样的写法了,主角改登场了,在IE中我们可以使用attachEvent方法

btn1Obj.attachEvent("onclick",method1);
btn1Obj.attachEvent("onclick",method2);
btn1Obj.attachEvent("onclick",method3);

使用格式是前面是事件类型,注意的是需要加on,比如onclick,onsubmit,onchange,执行顺序是

method3->method2->method1

可惜这个微软的私人方法,火狐和其他浏览器都不支持,幸运的是他们都支持W3C标准的addEventListener方法

btn1Obj.addEventListener("click",method1,false);
btn1Obj.addEventListener("click",method2,false);
btn1Obj.addEventListener("click",method3,false);

执行顺序为method1->method2->method3

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>attachEvent</title>
<script type="text/javascript">
//第一种方式(微软的私人方法)
function iniEvent() {
  var btn = document.getElementById("btn");
  btn.attachEvent("onclick", click1);
  btn.attachEvent("onclick", click2);
  btn.attachEvent("onclick", click3);
}
//第二种方式(火狐和其他浏览器)
function iniEvent2() {
  var btn = document.getElementById("btn");
  btn.addEventListener("click", click1, false);
  btn.addEventListener("click", click2, false);
  btn.addEventListener("click", click3, false);
}
function click1() {
  alert('click1');
}
function click2() {
  alert('click2');
}
function click3() {
  alert('click3');
}
</script>
</head>
<body onload="iniEvent()">
<input type="button" id="btn" value="attachEvent" />
</body>
</html>

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
锋利的jQuery 第三章章节总结的例子
Mar 23 Javascript
js实现星星打分效果的方法
Jul 05 Javascript
JavaScript中数组继承的简单示例
Jul 29 Javascript
一览画面点击复选框后获取多个id值的方法
May 30 Javascript
深入理解vue中的$set
Jun 01 Javascript
vue父组件向子组件动态传值的两种方法
Nov 11 Javascript
Three.js基础学习教程
Nov 16 Javascript
React Router v4 入坑指南(小结)
Apr 08 Javascript
vue中组件的3种使用方式详解
Mar 23 Javascript
Vue动态创建注册component的实例代码
Jun 14 Javascript
详解如何在Javascript和Sass之间共享变量
Nov 13 Javascript
原生JavaScript实现简单五子棋游戏
Jun 28 Javascript
javascript实现Table间隔色以及选择高亮(和动态切换数据)的方法
May 14 #Javascript
javascript清空table表格的方法
May 14 #Javascript
AngularJS的内置过滤器详解
May 14 #Javascript
javascript实现带下拉子菜单的导航菜单效果
May 14 #Javascript
javascript实现dom动态创建省市纵向列表菜单的方法
May 14 #Javascript
javascript基于DOM实现权限选择实例分析
May 14 #Javascript
javascript中DOM复选框选择用法实例
May 14 #Javascript
You might like
提取HTML标签
2006/10/09 PHP
Fedora下安装php Redis扩展笔记
2014/09/03 PHP
ThinkPHP实现ajax仿官网搜索功能实例
2014/12/02 PHP
PHP函数nl2br()与自定义函数nl2p()换行用法分析
2016/04/02 PHP
JS 的应用开发初探(mootools)
2009/12/19 Javascript
JS在IE和FireFox之间常用函数的区别小结
2010/03/12 Javascript
JavaScript高级程序设计(第3版)学习笔记11 内建js对象
2012/10/11 Javascript
Jquery easyUI 更新行示例
2014/03/06 Javascript
深入理解JavaScript的React框架的原理
2015/07/02 Javascript
Javascript如何判断数据类型和数组类型
2016/06/22 Javascript
AngularJS中$http服务常用的应用及参数
2016/08/22 Javascript
jQuery时间日期三级联动(推荐)
2016/11/27 Javascript
关于vue的语法规则检测报错问题的解决
2018/05/21 Javascript
详解react native页面间传递数据的几种方式
2018/11/07 Javascript
javascript将扁平的数据转为树形结构的高效率算法
2020/02/27 Javascript
JS错误处理与调试操作实例分析
2020/04/13 Javascript
javascript利用键盘控制小方块的移动
2020/04/20 Javascript
Js跳出两级循环方法代码实例
2020/09/22 Javascript
Javascript中的奇葩知识,你知道吗?
2021/01/25 Javascript
[02:46]2014DOTA2国际邀请赛 选手为你解读比赛MVP充满梦想
2014/07/09 DOTA
python计算日期之间的放假日期
2018/06/05 Python
深入解析神经网络从原理到实现
2019/07/26 Python
Python字符串和正则表达式中的反斜杠('\')问题详解
2019/09/03 Python
Python中生成一个指定长度的随机字符串实现示例
2019/11/06 Python
python中with语句结合上下文管理器操作详解
2019/12/19 Python
Pyinstaller加密打包应用的示例代码
2020/06/11 Python
windows支持哪个版本的python
2020/07/03 Python
Python pexpect模块及shell脚本except原理解析
2020/08/03 Python
优衣库美国官网:UNIQLO美国
2018/04/14 全球购物
经济实惠的豪华家具:My-Furniture
2019/03/12 全球购物
CHRONEXT英国:您的首选奢华腕表目的地
2020/03/30 全球购物
思想政治教育专业个人求职信范文
2013/12/20 职场文书
《会走路的树》教后反思
2014/04/19 职场文书
2014年房产销售工作总结
2014/12/08 职场文书
中考学习决心书
2015/02/04 职场文书
python之np.argmax()及对axis=0或者1的理解
2021/06/02 Python