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 相关文章推荐
从阿里妈妈发现的几个不错的表单验证函数
Sep 21 Javascript
Javascript数据结构与算法之列表详解
Mar 12 Javascript
测试IE浏览器对JavaScript的AngularJS的兼容性
Jun 19 Javascript
Javascript编写2048小游戏
Jul 07 Javascript
javascript实现的简单的表单验证
Jul 10 Javascript
分享经典的JavaScript开发技巧
Nov 21 Javascript
浅谈JavaScript 中有关时间对象的方法
Aug 15 Javascript
jQuery实现隔行变色的方法分析(对比原生JS)
Nov 18 Javascript
JS实现闭包中的沙箱模式示例
Sep 07 Javascript
微信小程序如何加载数据库真实数据的实现
Mar 04 Javascript
Jquery ajax书写方法代码实例解析
Jun 12 jQuery
Vue-Ant Design Vue-普通及自定义校验实例
Oct 24 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
Yii2组件之多图上传插件FileInput的详细使用教程
2016/06/20 PHP
ThinkPHP框架结合Ajax实现用户名校验功能示例
2019/07/03 PHP
javascript编程起步(第六课)
2007/01/10 Javascript
javascript简易缓动插件(源码打包)
2012/02/16 Javascript
Jquery 自定义动画概述及示例
2013/03/29 Javascript
jQuery UI 实现email输入提示实例
2013/08/15 Javascript
简单谈谈javascript代码复用模式
2015/01/28 Javascript
Javascript中实现String.startsWith和endsWith方法
2015/06/10 Javascript
js实现正则匹配中文标点符号的方法
2015/12/23 Javascript
学习JavaScript设计模式之中介者模式
2016/01/14 Javascript
举例说明JavaScript中的实例对象与原型对象
2016/03/11 Javascript
AngularJs Dependency Injection(DI,依赖注入)
2016/09/02 Javascript
jquery 判断div show的状态实例
2016/12/03 Javascript
webpack独立打包和缓存处理详解
2017/04/03 Javascript
Angularjs实现页面模板清除的方法
2018/07/20 Javascript
js实现for循环跳过undefined值示例
2019/07/02 Javascript
JS实现的定时器展示简单秒表、页面弹框及跳转操作完整示例
2020/01/26 Javascript
Vue.js的模板语法详解
2020/02/16 Javascript
vuecli项目构建SSR服务端渲染的实现
2020/10/30 Javascript
微信小程序学习之自定义滚动弹窗
2020/12/20 Javascript
Python里disconnect UDP套接字的方法
2015/04/23 Python
进一步探究Python的装饰器的运用
2015/05/05 Python
Python的Django框架中URLconf相关的一些技巧整理
2015/07/18 Python
Python全局变量用法实例分析
2016/07/19 Python
pycharm 配置远程解释器的方法
2018/10/28 Python
python Django的web开发实例(入门)
2019/07/31 Python
PyCharm MySQL可视化Database配置过程图解
2020/06/09 Python
使用K.function()调试keras操作
2020/06/17 Python
Python DataFrame使用drop_duplicates()函数去重(保留重复值,取重复值)
2020/07/20 Python
python3中calendar返回某一时间点实例讲解
2020/11/18 Python
实习期自我鉴定
2013/10/11 职场文书
应届毕业生的自我鉴定
2013/11/13 职场文书
机电专业个人求职信范文
2013/12/30 职场文书
护士年终考核评语
2014/12/31 职场文书
大国崛起日本观后感
2015/06/02 职场文书
2015中学教师个人工作总结
2015/07/22 职场文书