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 相关文章推荐
如何做到打开一个页面,过几分钟自动转到另一页面
Apr 20 Javascript
wordpress之js库集合研究介绍
Aug 17 Javascript
关于用Jquery的height()、width()计算动态插入的IMG标签的宽高的问题
Dec 08 Javascript
jquery 通过name快速取值示例
Jan 24 Javascript
网页收藏夹显示ICO图标(代码少)
Aug 04 Javascript
jquery实现图片预加载
Dec 25 Javascript
Bootstrap表格制作代码
Mar 17 Javascript
jquery中$.fn和图片滚动效果实现的必备知识总结
Apr 21 jQuery
vue.js利用defineProperty实现数据的双向绑定
Apr 28 Javascript
微信小程序 同步请求授权的详解
Aug 04 Javascript
浅谈Vue的加载顺序探讨
Oct 25 Javascript
用webpack4开发小程序的实现方法
Jun 04 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编程最快明白》第二讲 数字、浮点、布尔型、字符串和数组
2010/11/01 PHP
PHP设计模式之装饰者模式
2012/02/29 PHP
php全角字符转换为半角函数
2014/02/07 PHP
PHP微框架Dispatch简介
2014/06/12 PHP
yii实现使用CUploadedFile上传文件的方法
2015/12/28 PHP
详解php中 === 的使用
2016/10/24 PHP
PHP常用排序算法实例小结【基本排序,冒泡排序,快速排序,插入排序】
2017/02/07 PHP
PHP实现双链表删除与插入节点的方法示例
2017/11/11 PHP
js+xml生成级联下拉框代码
2012/07/24 Javascript
jQuery回车实现登录简单实现
2013/08/20 Javascript
JavaScript原型链示例分享
2014/01/26 Javascript
解释&amp;&amp;和||在javascript中的另类用法
2014/07/28 Javascript
完美兼容各大浏览器的jQuery仿新浪图文淡入淡出间歇滚动特效
2014/11/12 Javascript
jquery常用的12个小功能
2016/07/22 Javascript
Javascript动画效果(4)
2016/10/11 Javascript
node.js学习之交互式解释器REPL详解
2016/12/08 Javascript
JS组件系列之MVVM组件构建自己的Vue组件
2017/04/28 Javascript
详解vuejs几种不同组件(页面)间传值的方式
2017/06/01 Javascript
使用webpack-dev-server处理跨域请求的方法
2018/04/18 Javascript
jQuery中$原理实例分析
2018/08/13 jQuery
浅谈vue3中effect与computed的亲密关系
2019/10/10 Javascript
vue-cli单页面预渲染seo-prerender-spa-plugin操作
2020/08/10 Javascript
javascript实现点击小图显示大图
2020/11/29 Javascript
跟老齐学Python之从if开始语句的征程
2014/09/14 Python
python中os操作文件及文件路径实例汇总
2015/01/15 Python
Python用threading实现多线程详解
2017/02/03 Python
python操作列表的函数使用代码详解
2017/12/28 Python
python 3.7.0 下pillow安装方法
2018/08/27 Python
Python调用钉钉自定义机器人的实现
2020/01/03 Python
pycharm配置QtDesigner的超详细方法
2021/01/25 Python
浅析canvas元素的html尺寸和css尺寸对元素视觉的影响
2019/07/22 HTML / CSS
销售业务实习自我鉴定
2013/09/23 职场文书
新员工入职感言
2014/02/01 职场文书
介绍信怎么写
2015/01/30 职场文书
关于党风廉政建设宣传教育月的活动总结!
2019/08/08 职场文书
使用kubeadm命令行工具创建kubernetes集群
2022/03/31 Servers