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 相关文章推荐
JS 日期验证正则附asp日期格式化函数
Sep 11 Javascript
用jQuery扩展自写的 UI导航
Jan 13 Javascript
Javascript 面向对象 继承
May 13 Javascript
JavaScript表达式:URL 协议介绍
Mar 10 Javascript
JavaScript也谈内存优化
Jun 06 Javascript
通过XMLHttpRequest和jQuery实现ajax的几种方式
Aug 28 Javascript
AngularJS ng-bind-html 指令详解及实例代码
Jul 30 Javascript
自学实现angularjs依赖注入
Dec 20 Javascript
jQuery+pjax简单示例汇总
Apr 21 jQuery
快速了解vue-cli 3.0 新特性
Feb 28 Javascript
解决vue的变量在settimeout内部效果失效的问题
Aug 30 Javascript
在vue中使用回调函数,this调用无效的解决
Aug 11 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 Ajax中文乱码问题解决方法
2009/02/27 PHP
php表单转换textarea换行符的方法
2010/09/10 PHP
解析mysql中UNIX_TIMESTAMP()函数与php中time()函数的区别
2013/06/24 PHP
ThinkPHP整合datatables实现服务端分页的示例代码
2018/02/10 PHP
阿里云Win2016安装Apache和PHP环境图文教程
2018/03/11 PHP
ThinkPHP5.0框架验证码功能实现方法【基于第三方扩展包】
2019/03/11 PHP
Javascript 静态页面实现随机显示广告的办法
2010/11/17 Javascript
jquery中获取select选中值的代码
2011/06/27 Javascript
JQuery触发radio或checkbox的change事件
2012/12/18 Javascript
javascript实现动态加载CSS
2015/01/26 Javascript
基于JavaScript实现网页倒计时自动跳转代码
2015/12/28 Javascript
关于JSON与JSONP简单总结
2016/08/16 Javascript
基于AngularJS实现iOS8自带的计算器
2016/09/12 Javascript
vue 里面使用axios 和封装的示例代码
2017/09/01 Javascript
Vue 框架之键盘事件、健值修饰符、双向数据绑定
2018/11/14 Javascript
微信小程序开发技巧汇总
2019/07/15 Javascript
three.js利用射线Raycaster进行碰撞检测
2020/03/12 Javascript
完美解决通过IP地址访问VUE项目的问题
2020/07/18 Javascript
Python线性方程组求解运算示例
2018/01/17 Python
python迭代器常见用法实例分析
2019/11/22 Python
PyCharm Community安装与配置的详细教程
2020/11/24 Python
世界上最大的在线旅行社新加坡网站:Expedia新加坡
2016/08/25 全球购物
英国女性时尚品牌:Apricot
2018/12/04 全球购物
师范毕业生自荐信
2013/10/17 职场文书
学生拾金不昧表扬信
2014/01/21 职场文书
创业计划书的写作技巧及要点
2014/01/31 职场文书
实习老师离校感言
2014/02/03 职场文书
2014年师德承诺书
2014/05/23 职场文书
消防安全宣传口号
2014/06/10 职场文书
大学生学生会工作总结2015
2015/05/26 职场文书
2015中秋节晚会开场白
2015/07/30 职场文书
2016教师六五普法学习心得体会
2016/01/21 职场文书
2019各种承诺书范文
2019/06/24 职场文书
人为什么会“幸灾乐祸”?
2019/08/06 职场文书
Go语言切片前或中间插入项与内置copy()函数详解
2021/04/27 Golang
mysql下的max_allowed_packet参数设置详解
2022/02/12 MySQL