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 相关文章推荐
两个Javascript小tip资料
Nov 23 Javascript
js实现单一html页面两套css切换代码
Apr 11 Javascript
你必须知道的Javascript知识点之&quot;单线程事件驱动&quot;的使用
Apr 23 Javascript
jQuery随便控制任意div隐藏的方法
Jun 28 Javascript
javascript获取dom的下一个节点方法
Sep 05 Javascript
jQuery判断对象是否存在的方法
Feb 05 Javascript
javascript实现tab响应式切换特效
Jan 29 Javascript
Vue.js快速入门教程
Sep 07 Javascript
基于Bootstrap模态对话框只加载一次 remote 数据的解决方法
Jul 09 Javascript
基于AngularJs select绑定数字类型的问题
Oct 08 Javascript
vue自定义表单生成器form-create使用详解
Jul 19 Javascript
JavaScript监听触摸事件代码实例
Dec 30 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代码的53条建议
2008/03/27 PHP
IIS php环境配置PHP5 MySQL5 ZendOptimizer phpmyadmin安装与配置
2008/11/18 PHP
php下连接mssql2005的代码
2011/01/17 PHP
php使用Smarty的相关注意事项及访问变量的几种方式
2011/12/08 PHP
php面向对象之反射功能与用法分析
2017/03/29 PHP
php获取ip及网址的简单方法(必看)
2017/04/01 PHP
Docker搭建自己的PHP开发环境
2018/02/24 PHP
jquery ajax return没有返回值的解决方法
2011/10/20 Javascript
jQuery操作select的实例代码
2012/06/14 Javascript
js自执行函数的几种不同写法的比较
2012/08/16 Javascript
JS+CSS实现一个气泡提示框
2013/08/18 Javascript
jQuery调用RESTful WCF示例代码(GET方法/POST方法)
2014/01/26 Javascript
jQuery中after()方法用法实例
2014/12/25 Javascript
JavaScript实现上下浮动的窗口效果代码
2015/10/12 Javascript
整理Javascript基础语法学习笔记
2015/11/29 Javascript
easyui combotree加载静态数据问题(选不上)解决方法
2016/12/26 Javascript
vue的diff算法知识点总结
2018/03/29 Javascript
Jquery获取radio选中值实例总结
2019/01/17 jQuery
Angular8 实现table表格表头固定效果
2020/01/03 Javascript
使用Flask-Cache缓存实现给Flask提速的方法详解
2019/06/11 Python
pyqt5、qtdesigner安装和环境设置教程
2019/09/25 Python
Python使用Pandas读写Excel实例解析
2019/11/19 Python
python实现画出e指数函数的图像
2019/11/21 Python
Python3 Tensorlfow:增加或者减小矩阵维度的实现
2020/05/22 Python
Python通过类的组合模拟街道红绿灯
2020/09/16 Python
移动端Web页面的CSS3 flex布局快速上手指南
2016/05/31 HTML / CSS
日本钓鱼渔具和户外用品网上商店:naturum
2016/08/07 全球购物
介绍一下except的用法和作用
2015/01/22 面试题
竞争上岗演讲稿
2014/01/05 职场文书
大学英语演讲稿(中英文对照)
2014/01/14 职场文书
商务英语专业求职信范文
2014/01/28 职场文书
应届生求职信范文
2014/05/26 职场文书
谢师宴邀请函
2015/02/02 职场文书
创业计划书之水果店
2019/07/18 职场文书
Django如何创作一个简单的最小程序
2021/05/12 Python
利用Python将list列表写入文件并读取的方法汇总
2022/03/25 Python