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实现Sleep函数的代码
Mar 04 Javascript
基于jquery的图片懒加载js
Jun 30 Javascript
js关闭父窗口时关闭子窗口
Apr 01 Javascript
Javascript中prototype属性实现给内置对象添加新的方法
May 14 Javascript
JS实现简单的图书馆享元模式实例
Jun 30 Javascript
后端接收不到AngularJs中$http.post发送的数据原因分析及解决办法
Jul 05 Javascript
Bootstrap Table使用方法解析
Oct 19 Javascript
vue时间格式化实例代码
Jun 13 Javascript
浅谈Vue-cli 命令行工具分析
Nov 22 Javascript
axios发送post请求,提交图片类型表单数据方法
Mar 16 Javascript
微信小程序表单弹窗实例
Jul 19 Javascript
使用jquery Ajax实现上传附件功能
Oct 23 jQuery
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/03/20 PHP
tp5.1 实现setInc字段自动加1
2019/10/18 PHP
Prototype1.5 rc2版指南最后一篇之Position
2007/01/10 Javascript
javascript call方法使用说明
2010/01/11 Javascript
javascript中的107个基础知识收集整理 推荐
2010/03/29 Javascript
Google Dart编程语法和基本类型学习教程
2013/11/27 Javascript
jquery如何获取复选框的值
2013/12/12 Javascript
jQuery实现冻结表格行和列
2015/04/29 Javascript
JavaScript html5 canvas画布中删除一个块区域的方法
2016/01/26 Javascript
jquery动态切换背景图片的简单实现方法
2016/05/14 Javascript
第一次接触神奇的Bootstrap基础排版
2016/07/26 Javascript
使用canvas及js简单生成验证码方法
2017/04/02 Javascript
微信小程序 图片宽高自适应详解
2017/05/11 Javascript
(模仿京东用户注册)用JQuery实现简单表单验证,初学者必看
2018/01/08 jQuery
详解webpack babel的配置
2018/01/09 Javascript
基于vue中解决v-for使用报红并出现警告的问题
2018/03/03 Javascript
解决Angular2 router.navigate刷新页面的问题
2018/08/31 Javascript
vue click.stop阻止点击事件继续传播的方法
2018/09/04 Javascript
vue-cli webpack 引入swiper的操作方法
2018/09/15 Javascript
JavaScript循环遍历你会用哪些之小结篇
2018/09/28 Javascript
你不可不知的Vue.js列表渲染详解
2019/10/01 Javascript
关于引入vue.js 文件的知识点总结
2020/01/28 Javascript
[02:05]2014DOTA2西雅图邀请赛 老队长全明星大猜想谁不服就按进显示器
2014/07/08 DOTA
Python向日志输出中添加上下文信息
2017/05/24 Python
解决python文件字符串转列表时遇到空行的问题
2017/07/09 Python
python查找指定文件夹下所有文件并按修改时间倒序排列的方法
2018/10/21 Python
python获取微信企业号打卡数据并生成windows计划任务
2019/04/30 Python
Python OpenCV实现视频分帧
2019/06/01 Python
django获取from表单multiple-select的value和id的方法
2019/07/19 Python
CSS实现半透明边框与多重边框的场景分析
2019/11/13 HTML / CSS
2014年单位植树节活动方案
2014/03/23 职场文书
实例讲解Python中sys.argv[]的用法
2021/06/03 Python
不同品牌、不同型号对讲机如何互相通联
2022/02/18 无线电
Kubernetes部署实例并配置Deployment、网络映射、副本集
2022/04/01 Servers
win10电脑老是死机怎么办?win10系统老是死机的解决方法
2022/08/05 数码科技
Python find()、rfind()方法及作用
2022/12/24 Python