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 相关文章推荐
dojo 之基础篇
Mar 24 Javascript
js导航菜单(自写)简单大方
Mar 28 Javascript
关于JS数组追加数组采用push.apply的问题
Jun 09 Javascript
jquery实现保存已选用户
Jul 21 Javascript
轻松学习jQuery插件EasyUI EasyUI创建CRUD应用
Nov 30 Javascript
利用jQuery及AJAX技术定时更新GridView的某一列数据
Dec 04 Javascript
jQuery validate插件实现ajax验证重复的2种方法
Jan 22 Javascript
js实现手机拍照上传功能
Jan 17 Javascript
jQuery代码优化方法总结
Jan 29 jQuery
webpack公共组件引用路径简化小技巧
Jun 15 Javascript
jQuery 获取除某指定对象外的其他对象 ( :not() 与.not())
Oct 10 jQuery
Vue结合路由配置递归实现菜单栏功能
Jun 16 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
PHP跨平台获取服务器IP地址自定义函数分享
2014/12/29 PHP
[转]JS宝典学习笔记
2007/02/07 Javascript
jquery 操作DOM案例代码分享
2012/04/05 Javascript
浏览器加载、渲染和解析过程黑箱简析
2012/11/29 Javascript
js实现使用鼠标拖拽切换图片的方法
2015/05/04 Javascript
Javascript中的数据类型之旅
2015/10/18 Javascript
javascript实现五星评分功能
2015/11/10 Javascript
BOM系列第三篇之定时器应用(时钟、倒计时、秒表和闹钟)
2016/08/17 Javascript
BootStrap3使用错误记录及解决办法
2016/12/22 Javascript
微信小程序签到功能
2018/10/31 Javascript
浅谈vuex actions和mutation的异曲同工
2018/12/13 Javascript
Vue2.0+Vux搭建一个完整的移动webApp项目的示例
2019/03/19 Javascript
jQuery实现验证用户登录
2019/12/10 jQuery
vue实现计算器功能
2020/02/22 Javascript
原生js实现瀑布流效果
2020/03/09 Javascript
javascript 代码是如何被压缩的示例代码
2020/05/06 Javascript
Python实现的一个自动售饮料程序代码分享
2014/08/25 Python
在Python中使用Mako模版库的简单教程
2015/04/08 Python
python简单实现刷新智联简历
2016/03/30 Python
python snownlp情感分析简易demo(分享)
2017/06/04 Python
Python使用plotly绘制数据图表的方法
2017/07/18 Python
Python OpenCV处理图像之图像直方图和反向投影
2018/07/10 Python
python小程序基于Jupyter实现天气查询的方法
2020/03/27 Python
python读取yaml文件后修改写入本地实例
2020/04/27 Python
微信小程序实现可实时改变转速的css3旋转动画实例代码
2018/09/11 HTML / CSS
Html5实现用户注册自动校验功能实例代码
2016/05/24 HTML / CSS
你们项目是如何进行变更控制的
2015/08/26 面试题
报关简历自我评价怎么写
2013/09/19 职场文书
机电一体化毕业生求职信
2013/11/02 职场文书
拾金不昧表扬信范文
2014/01/11 职场文书
四风问题班子对照检查材料
2014/09/27 职场文书
处级干部考察材料
2014/12/24 职场文书
护理工作个人总结
2015/03/03 职场文书
2016庆祝国庆67周年宣传语
2015/11/25 职场文书
2021-4-3课程——SQL Server查询【2】
2021/04/05 SQL Server
Redis字典实现、Hash键冲突及渐进式rehash详解
2021/09/04 Redis