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 相关文章推荐
javascript 对象定义方法 简单易学
Mar 22 Javascript
json 实例详细说明教程
Oct 31 Javascript
jquery中加载图片自适应大小主要实现代码
Aug 23 Javascript
继续学习javascript闭包
Dec 03 Javascript
JS判断浏览器是否安装flash插件的简单方法
Sep 13 Javascript
JS中常用的正则表达式
Sep 29 Javascript
Web前端开发之水印、图片验证码
Nov 27 Javascript
Angular.js ng-file-upload结合springMVC的使用教程
Jul 10 Javascript
详解Vue项目中出现Loading chunk {n} failed问题的解决方法
Sep 14 Javascript
jQuery实现的导航条点击后高亮显示功能示例
Mar 04 jQuery
利用Promise自定义一个GET请求的函数示例代码
Mar 20 Javascript
JavaScript实现身份证验证代码实例
Aug 26 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中对xml读取的相关函数的介绍一
2008/06/05 PHP
Laravel 5框架学习之向视图传送数据(进阶篇)
2015/04/08 PHP
PHP实现linux命令tail -f
2016/02/22 PHP
php设计模式之装饰模式应用案例详解
2019/06/17 PHP
PHP7 安装event扩展的实现方法
2019/10/08 PHP
jquery实现的仿天猫侧导航tab切换效果
2015/08/24 Javascript
JavaScript实现的MD5算法完整实例
2016/02/02 Javascript
Javascript类型转换的规则实例解析
2016/02/23 Javascript
JavaScript中值类型和引用类型的区别
2017/02/23 Javascript
webpack 单独打包指定JS文件的方法
2018/02/22 Javascript
koa socket即时通讯的示例代码
2018/09/07 Javascript
Vue-cli3.x + axios 跨域方案踩坑指北
2019/07/04 Javascript
Vue的props父传子的示例代码
2020/05/20 Javascript
js实现筛选功能
2020/11/24 Javascript
python爬虫框架scrapy实战之爬取京东商城进阶篇
2017/04/24 Python
python reverse反转部分数组的实例
2018/12/13 Python
Python实现朴素贝叶斯的学习与分类过程解析
2019/08/24 Python
浅谈opencv自动光学检测、目标分割和检测(连通区域和findContours)
2020/06/04 Python
python连接mysql数据库并读取数据的实现
2020/09/25 Python
五个2015 年最佳HTML5 框架
2015/11/11 HTML / CSS
HTML5在微信内置浏览器下右上角菜单的调整字体导致页面显示错乱的问题
2021/01/19 HTML / CSS
英国时尚饰品和发饰购物网站:Claire’s
2017/07/04 全球购物
法国体育用品商店:GO Sport
2019/10/23 全球购物
文员自我评价怎么写
2013/09/19 职场文书
学校大课间活动方案
2014/01/30 职场文书
节电标语大全
2014/06/23 职场文书
预防艾滋病宣传活动总结
2015/05/09 职场文书
小组口号霸气押韵
2015/12/24 职场文书
《跨越海峡的生命桥》教学反思
2016/02/18 职场文书
医学会议开幕词
2016/03/03 职场文书
python生成随机数、随机字符、随机字符串
2021/04/06 Python
你知道哪几种MYSQL的连接查询
2021/06/03 MySQL
Django中session进行权限管理的使用
2021/07/09 Python
JAVA长虹键法之建造者Builder模式实现
2022/04/10 Java/Android
解决Python保存文件名太长OSError: [Errno 36] File name too long
2022/05/11 Python
MySQL新手入门进阶语句汇总
2022/09/23 MySQL