JavaScript实现为指定对象添加多个事件处理程序的方法


Posted in Javascript onApril 17, 2015

本文实例讲述了JavaScript实现为指定对象添加多个事件处理程序的方法。分享给大家供大家参考。具体如下:

如果你希望对象点击的时候同时处理多个事情,可以使用下面的代码

/* Start of the multihandle Object...*/
function MultiHandle(owner){
 var my_handlers = new Array();
 var my_owner = owner;
 this.append = function(handler){
  my_handlers[my_handlers.length] = handler;
 }
 this.fire = function(evt){
  var i;
  for(i = 0; i < my_handlers.length; i++){
   my_owner.tempspace = my_handlers[i];
   my_owner.tempspace(evt);
  }
 }
}
/* End of the multihandle object*/
/* start of the object add event handler script */
 
/*This bit goes where you'd normally write...
... object.onmouseup = [event handler]...
... where [event handler] is an existing function ...
... that handles an event, or even an
... anonymous function.*/
if(typeof(MultiHandle) != "undefined"){
 var mup_handler = object.mh_onmouseup;
 if(!mup_handler){
  mup_handler = new MultiHandle(object);
  object.mh_onmouseup = mup_handler;
  object.onmouseup = function(evt){
  this.mh_onmouseup.fire(evt);
  };
 }
 mup_handler.append([event handler]);
}else{
 object.onmouseup = [event handler];
}

希望本文所述对大家的javascript程序设计有所帮助。

Javascript 相关文章推荐
070823更新的一个[消息提示框]组件 兼容ie7
Aug 29 Javascript
封装了一个js图片轮换效果的函数
Sep 28 Javascript
JQuery拖拽元素改变大小尺寸实现代码
Dec 10 Javascript
浏览器环境下JavaScript脚本加载与执行探析之defer与async特性
Jan 14 Javascript
原生 JS Ajax,GET和POST 请求实例代码
Jun 08 Javascript
简单实现js菜单栏切换效果
Mar 04 Javascript
微信小程序 在线支付功能的实现
Mar 14 Javascript
微信小程序商城项目之商品属性分类(4)
Apr 17 Javascript
在react-router4中进行代码拆分的方法(基于webpack)
Mar 08 Javascript
Vue实现购物车实例代码两则
May 30 Javascript
Vue 解决通过this.$refs来获取DOM或者组件报错问题
Jul 28 Javascript
js实现双色球效果
Aug 02 Javascript
完美兼容多浏览器的js判断图片路径代码汇总
Apr 17 #Javascript
JavaScript控制网页平滑滚动到指定元素位置的方法
Apr 17 #Javascript
原生js实现移动开发轮播图、相册滑动特效
Apr 17 #Javascript
JavaScript实现简单图片翻转的方法
Apr 17 #Javascript
JavaScript实现将xml转换成html table表格的方法
Apr 17 #Javascript
JavaScript实现的简单幂函数实例
Apr 17 #Javascript
js面向对象之公有、私有、静态属性和方法详解
Apr 17 #Javascript
You might like
php校验公钥是否可用的实例方法
2019/09/17 PHP
js 数组克隆方法 小结
2010/03/20 Javascript
基于JQuery.timer插件实现一个计时器
2010/04/25 Javascript
屏蔽F1~F12的快捷键的js函数
2010/05/06 Javascript
js模拟类继承小例子
2010/07/17 Javascript
Javascript在IE下设置innerHTML时出现未知的运行时错误的解决方法
2011/01/12 Javascript
动态添加删除表格行的js实现代码
2014/02/28 Javascript
js动态改变select选择变更option的index值示例
2014/07/10 Javascript
在html中引入外部js文件,并调用带参函数的方法
2016/10/31 Javascript
正则表达式基本语法及表单验证操作详解【基于JS】
2017/04/07 Javascript
Angular 4依赖注入学习教程之InjectToken的使用(八)
2017/06/04 Javascript
vue+springmvc导出excel数据的实现代码
2018/06/27 Javascript
[56:42]完美世界DOTA2联赛循环赛 Matador vs Forest 第二场 11.06
2020/11/06 DOTA
[32:36]完美世界DOTA2联赛PWL S3 LBZS vs CPG 第二场 12.12
2020/12/16 DOTA
Python实现抓取页面上链接的简单爬虫分享
2015/01/21 Python
Python 专题六 局部变量、全局变量global、导入模块变量
2017/03/20 Python
Python2.7下安装Scrapy框架步骤教程
2017/12/22 Python
Tensorflow 查看变量的值方法
2018/06/14 Python
wxPython的安装与使用教程
2018/08/31 Python
python使用numpy读取、保存txt数据的实例
2018/10/14 Python
python并发编程 Process对象的其他属性方法join方法详解
2019/08/20 Python
Python搭建代理IP池实现获取IP的方法
2019/10/27 Python
python如何运行js语句
2020/09/09 Python
雅诗兰黛香港官网:Estee Lauder香港
2017/09/26 全球购物
德国高尔夫商店:Par71.de
2020/11/29 全球购物
数组越界问题
2015/10/21 面试题
竞选演讲稿范文
2013/12/28 职场文书
九年级政治教学反思
2014/02/06 职场文书
国贸专业的职业规划书
2014/03/15 职场文书
学生评语大全
2014/04/18 职场文书
商务日语专业的自荐信
2014/05/23 职场文书
草房子读书笔记
2015/06/29 职场文书
2015暑假实习报告范文
2015/07/13 职场文书
如何写一份具有法律效力的借款协议书?
2019/07/02 职场文书
python3.9之你应该知道的新特性详解
2021/04/29 Python
PyTorch 如何自动计算梯度
2021/05/23 Python