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 相关文章推荐
双击滚屏-常用推荐
Nov 29 Javascript
深入聊聊Array的sort方法的使用技巧.详细点评protype.js中的sortBy方法
Apr 12 Javascript
AngularJS基础教程之简单介绍
Sep 27 Javascript
JavaScript+CSS无限极分类效果完整实现方法
Dec 22 Javascript
输入法的回车与消息发送快捷键回车的冲突解决方法
Aug 09 Javascript
微信小程序实现动态设置页面标题的方法【附源码下载】
Nov 29 Javascript
React中如何引入Angular组件详解
Aug 09 Javascript
AngularJS修改model值时,显示内容不变的实例
Sep 13 Javascript
详解在Angular4中使用ng2-baidu-map的方法
Jun 19 Javascript
前端vue-cli项目中使用img图片和background背景图的几种方法
Nov 13 Javascript
vue样式穿透 ::v-deep的具体使用
Jun 04 Javascript
Element Popover 弹出框的使用示例
Jul 26 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正则表达式(regar expression)
2011/09/10 PHP
PHP register_shutdown_function函数的深入解析
2013/06/03 PHP
解析smarty模板中类似for的功能实现
2013/06/18 PHP
推荐25款php中非常有用的类库
2014/09/29 PHP
PHP创建/删除/复制文件夹、文件
2016/05/03 PHP
PHP Filter过滤器全面解析
2016/08/09 PHP
Smarty模板配置实例简析
2019/07/20 PHP
js 实现无干扰阴影效果 简单好用(附文件下载)
2009/12/27 Javascript
40款非常棒的jQuery 插件和制作教程(系列二)
2011/11/02 Javascript
js 可拖动列表实现代码
2011/12/13 Javascript
解决jquery版本冲突的有效方法
2014/09/02 Javascript
js propertychange和oninput事件
2014/09/28 Javascript
jQuery中slice()方法用法实例
2015/01/07 Javascript
Node.js中的缓冲与流模块详细介绍
2015/02/11 Javascript
javascript中apply、call和bind的使用区别
2016/04/05 Javascript
BootStrap 轮播插件(carousel)支持左右手势滑动的方法(三种)
2016/07/07 Javascript
Vue.js双向绑定实现原理详解
2016/12/22 Javascript
vuejs绑定class和style样式
2017/04/11 Javascript
详解Axios统一错误处理与后置
2018/09/26 Javascript
基于vue-cli搭建多模块且各模块独立打包的项目
2019/06/12 Javascript
React组件设计模式之组合组件应用实例分析
2020/04/29 Javascript
Ant Design的Table组件去除
2020/10/24 Javascript
JS数据类型分类及常用判断方法
2020/11/19 Javascript
解决matplotlib库show()方法不显示图片的问题
2018/05/24 Python
Django uwsgi Nginx 的生产环境部署详解
2019/02/02 Python
Python操作rabbitMQ的示例代码
2019/03/19 Python
基于Django统计博客文章阅读量
2019/10/29 Python
浅谈keras中的keras.utils.to_categorical用法
2020/07/02 Python
TensorFlow的环境配置与安装方法
2021/02/20 Python
前端隐藏出边界内容的实现方法
2016/04/14 HTML / CSS
荷兰时尚精品店:Labels Fashion
2020/03/22 全球购物
中秋节主持词
2014/04/02 职场文书
教育读书笔记
2015/07/02 职场文书
大学军训通讯稿
2015/07/18 职场文书
2019年暑期安全广播稿!
2019/07/03 职场文书
Grafana可视化监控系统结合SpringBoot使用
2022/04/19 Redis