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的IE和Firefox兼容性汇编
Jul 01 Javascript
window.open()弹出居中的窗口
Feb 01 Javascript
javascript 贪吃蛇实现代码
Nov 22 Javascript
jQuery实现表头固定效果的实例代码
May 24 Javascript
javascript获取文档坐标和视口坐标
May 26 Javascript
jQuery中slidedown与slideup方法用法示例
Sep 16 Javascript
Javascript动画效果(2)
Oct 11 Javascript
BootStrap Validator 根据条件在JS中添加或移除校验操作
Oct 12 Javascript
使用Bootstrap + Vue.js实现表格的动态展示、新增和删除功能
Nov 27 Javascript
webpack配置打包后图片路径出错的解决
Apr 26 Javascript
浅析vue-router实现原理及两种模式
Feb 11 Javascript
基于Vant UI框架实现时间段选择器
Dec 24 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 开发环境配置(Zend Studio)
2010/04/28 PHP
PHP字符串中特殊符号的过滤方法介绍
2014/02/18 PHP
php防止伪造的数据从URL提交方法
2014/06/27 PHP
PHP+百度AI OCR文字识别实现了图片的文字识别功能
2019/05/08 PHP
php实现的简单多进程服务器类完整示例
2020/02/01 PHP
学习js所必须要知道的一些
2007/03/07 Javascript
在服务端(Page.Write)调用自定义的JS方法详解
2013/08/09 Javascript
jQuery超赞的评分插件(8款)
2015/08/20 Javascript
js实现文字滚动效果
2016/03/03 Javascript
非常酷炫的Bootstrap图片轮播动画
2016/05/27 Javascript
微信小程序 倒计时组件实现代码
2016/10/24 Javascript
vue通过watch对input做字数限定的方法
2017/07/13 Javascript
jQuery插件artDialog.js使用与关闭方法示例
2017/10/09 jQuery
深入理解requireJS-实现一个简单的模块加载器
2018/01/15 Javascript
使用Vue动态生成form表单的实例代码
2018/04/26 Javascript
vue-cli3+typescript初体验小结
2019/02/28 Javascript
Vue3+elementui plus创建项目的方法
2020/12/01 Vue.js
[02:42]决战东方!DOTA2亚洲邀请赛重启荣耀之争
2017/03/17 DOTA
用Python和WordCloud绘制词云的实现方法(内附让字体清晰的秘笈)
2019/01/08 Python
PyCharm中Matplotlib绘图不能显示UI效果的问题解决
2020/03/12 Python
python 使用raw socket进行TCP SYN扫描实例
2020/05/05 Python
python的Jenkins接口调用方式
2020/05/12 Python
TensorFlow Autodiff自动微分详解
2020/07/06 Python
详解tf.device()指定tensorflow运行的GPU或CPU设备实现
2021/02/20 Python
Ticketmaster意大利:音乐会、节日、艺术和剧院的官方门票
2019/12/23 全球购物
vue实现倒计时功能
2021/03/24 Vue.js
医学检验专业个人求职信范文
2013/12/04 职场文书
市场开发与营销专业求职信范文
2014/05/01 职场文书
机关领导查摆四风思想汇报
2014/09/13 职场文书
副检察长四风问题对照检查材料思想汇报
2014/10/07 职场文书
地方白酒代理协议书
2014/10/25 职场文书
2015年个人实习工作总结
2014/12/12 职场文书
新人入职感言
2015/07/31 职场文书
2016公司中秋节寄语
2015/12/07 职场文书
蓝天保卫战收官在即 :15行业将开展环保分级评价
2019/07/19 职场文书
教你一步步实现一个简易promise
2021/11/02 Javascript