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 相关文章推荐
Jquery从头学起第四讲 jquery入门教程
Aug 01 Javascript
Node.js开源应用框架HapiJS介绍
Jan 14 Javascript
javascript背景时钟实现方法
Jun 18 Javascript
详解XMLHttpRequest(一)同步请求和异步请求
Sep 14 Javascript
Angularjs中controller的三种写法分享
Sep 21 Javascript
JS限制条件补全问题实例分析
Dec 16 Javascript
Jquery获取radio选中值实例总结
Jan 17 jQuery
layer.open提交子页面的form和layedit文本编辑内容的方法
Sep 27 Javascript
Vue实现剪切板图片压缩功能
Feb 04 Javascript
Vue+tracking.js 实现前端人脸检测功能
Apr 16 Javascript
vue自动添加浏览器兼容前后缀操作
Aug 13 Javascript
使用Vue实现一个树组件的示例
Nov 06 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
vBulletin Forum 2.3.xx SQL Injection
2006/10/09 PHP
PHP函数学习之PHP函数点评
2012/07/05 PHP
怎样使用php与jquery设置和读取cookies
2013/08/08 PHP
php外部执行命令函数用法小结
2016/10/11 PHP
用javascript获取地址栏参数
2006/12/22 Javascript
JavaScript 动态添加表格行 使用模板、标记
2009/10/24 Javascript
js创建元素(节点)示例
2014/01/02 Javascript
jQuery遍历Table应用示例
2014/04/09 Javascript
显示今天的日期js代码(阳历和农历)
2014/09/30 Javascript
浅谈JavaScript实现面向对象中的类
2014/12/09 Javascript
jQuery on()方法示例及jquery on()方法的优点
2015/08/27 Javascript
JavaScript事件学习小结(一)事件流
2016/06/09 Javascript
完美解决spring websocket自动断开连接再创建引发的问题
2017/03/02 Javascript
微信小程序引用公共js里的方法的实例详解
2017/08/17 Javascript
jQuery实现的表格前端排序功能示例
2017/09/18 jQuery
vue使用echarts图表的详细方法
2018/10/22 Javascript
详解ES6中的 Set Map 数据结构学习总结
2018/11/06 Javascript
使用jquery-easyui的布局layout写后台管理页面的代码详解
2019/06/19 jQuery
原生js实现日历效果
2020/03/02 Javascript
three.js中多线程的使用及性能测试详解
2021/01/07 Javascript
Python对接六大主流数据库(只需三步)
2019/07/31 Python
Python 实现的 Google 批量翻译功能
2019/08/26 Python
HTML5 自动聚焦(autofocus)属性使用介绍
2013/08/07 HTML / CSS
Columbia美国官网:美国著名的户外服装品牌
2016/11/24 全球购物
德国古洛迷亚百货官网:GALERIA Kaufhof
2017/06/20 全球购物
英国床和浴室商场:Bed & Bath Emporium
2018/05/20 全球购物
三陽商会官方网站:Sanyo iStore
2019/05/15 全球购物
Vision Direct比利时:在线订购隐形眼镜
2019/08/27 全球购物
《我的信念》教学反思
2014/02/15 职场文书
工程造价专业求职信
2014/07/17 职场文书
辞旧迎新演讲稿
2014/09/15 职场文书
工程承包协议书
2014/10/20 职场文书
2015年员工试用期工作总结
2014/12/12 职场文书
孝老爱亲事迹材料
2014/12/24 职场文书
初中运动会前导词
2015/07/20 职场文书
Java使用jmeter进行压力测试
2021/07/09 Java/Android