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 相关文章推荐
表单提交时自动复制内容到剪贴板的js代码
Mar 16 Javascript
层序遍历在ExtJs的TreePanel中的应用
Oct 16 Javascript
替代window.event.srcElement效果的可兼容性的函数
Dec 18 Javascript
js Form.elements[i]的使用实例
Nov 13 Javascript
JavaScript中的数组操作介绍
Dec 30 Javascript
详解Vue学习笔记入门篇之组件的内容分发(slot)
Jul 17 Javascript
React学习之事件绑定的几种方法对比
Sep 24 Javascript
vue移动端微信授权登录插件封装的实例
Aug 28 Javascript
element UI upload组件上传附件格式限制方法
Sep 04 Javascript
vue本地打开build后生成的dist文件夹index.html问题
Sep 04 Javascript
在vue中使用echarts(折线图的demo,markline用法)
Jul 20 Javascript
vue element-ul实现展开和收起功能的实例代码
Nov 25 Vue.js
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
PHP的命令行命令使用指南
2015/08/18 PHP
PHP简单的MVC框架实现方法
2015/12/01 PHP
Yii2下session跨域名共存的解决方案
2017/02/04 PHP
用Javascript数组处理多个字符串的连接问题
2009/08/20 Javascript
在jQuery 1.5中使用deferred对象的代码(翻译)
2011/03/10 Javascript
二叉树的非递归后序遍历算法实例详解
2014/02/07 Javascript
jquery绑定事件不生效的解决方法
2014/02/11 Javascript
javascript 密码框防止用户粘贴和复制的实现代码
2014/02/17 Javascript
jquery数组封装使用方法分享(jquery数组遍历)
2014/03/25 Javascript
js实现页面跳转重定向的几种方式
2014/05/29 Javascript
JS实现一个列表中包含上移下移删除等功能
2014/09/24 Javascript
jQuery通过控制节点实现仅在前台通过get方法完成参数传递
2015/02/02 Javascript
jquery滚动到顶部底部代码
2015/04/20 Javascript
不得不分享的JavaScript常用方法函数集(下)
2015/12/25 Javascript
Bootstrap每天必学之折叠
2016/04/12 Javascript
jQuery判断checkbox选中状态
2016/05/12 Javascript
js与applet相互调用的方法
2016/06/22 Javascript
js 将canvas生成图片保存,或直接保存一张图片的实现方法
2018/01/02 Javascript
详解create-react-app 自定义 eslint 配置
2018/06/07 Javascript
p5.js临摹旋转爱心
2019/10/23 Javascript
jQuery实现倒计时功能完整示例
2020/06/01 jQuery
微信小程序实现导航栏和内容上下联动功能代码
2020/06/29 Javascript
Vue多选列表组件深入详解
2021/03/02 Vue.js
Python2.x与Python3.x的区别
2016/01/14 Python
python实现解数独程序代码
2017/04/12 Python
python微信公众号开发简单流程
2018/03/23 Python
使用Python的Dataframe取两列时间值相差一年的所有行方法
2018/07/10 Python
python实现n个数中选出m个数的方法
2018/11/13 Python
python elasticsearch从创建索引到写入数据的全过程
2019/08/04 Python
python序列化与数据持久化实例详解
2019/12/20 Python
Python实现栈的方法详解【基于数组和单链表两种方法】
2020/02/22 Python
python实现在线翻译功能
2020/03/03 Python
解决reload(sys)后print失效的问题
2020/04/25 Python
使用pytorch 筛选出一定范围的值
2020/06/28 Python
详解三种方式实现平滑滚动页面到顶部的功能
2019/04/23 HTML / CSS
基于PyTorch实现一个简单的CNN图像分类器
2021/05/29 Python