开发者俱乐部

标题: [原生js] JavaScript实现为指定对象添加多个事件处理程序的方法 [打印本页]

作者: jack    时间: 2016-3-17 06:10
标题: [原生js] JavaScript实现为指定对象添加多个事件处理程序的方法
        这篇文章主要介绍了JavaScript实现为指定对象添加多个事件处理程序的方法,可实现让指定对象处理多个事件的功能,具有一定参考借鉴价值,需要的朋友可以参考下

        本文实例讲述了JavaScript实现为指定对象添加多个事件处理程序的方法。分享给大家供大家参考。具体如下:

        如果你希望对象点击的时候同时处理多个事情,可以使用下面的代码
  1. /* Start of the multihandle Object...*/
  2. function MultiHandle(owner){
  3. var my_handlers = new Array();
  4. var my_owner = owner;
  5. this.append = function(handler){
  6.   my_handlers[my_handlers.length] = handler;
  7. }
  8. this.fire = function(evt){
  9.   var i;
  10.   for(i = 0; i < my_handlers.length; i++){
  11.    my_owner.tempspace = my_handlers[i];
  12.    my_owner.tempspace(evt);
  13.   }
  14. }
  15. }
  16. /* End of the multihandle object*/
  17. /* start of the object add event handler script */
  18.   
  19. /*This bit goes where you'd normally write...
  20. ... object.onmouseup = [event handler]...
  21. ... where [event handler] is an existing function ...
  22. ... that handles an event, or even an
  23. ... anonymous function.*/
  24. if(typeof(MultiHandle) != "undefined"){
  25. var mup_handler = object.mh_onmouseup;
  26. if(!mup_handler){
  27.   mup_handler = new MultiHandle(object);
  28.   object.mh_onmouseup = mup_handler;
  29.   object.onmouseup = function(evt){
  30.   this.mh_onmouseup.fire(evt);
  31.   };
  32. }
  33. mup_handler.append([event handler]);
  34. }else{
  35. object.onmouseup = [event handler];
  36. }
复制代码


希望本文所述对大家的JavaScript程序设计有所帮助。







欢迎光临 开发者俱乐部 (http://xodn.com/) Powered by Discuz! X3.2