OSDN Git Service

Version 0.6.163, fix __ClassBase__.kill().
[pettanr/clientJs.git] / 0.6.x / js / 01_core / 15_XEventDispatcher.js
index 4ee48a8..22142fe 100644 (file)
@@ -244,7 +244,7 @@ function X_EventDispatcher_dispatch( e ){
        var listeners = this[ '_listeners' ],\r
                ret       = X_Callback_NONE,\r
                type      = e[ 'type' ],\r
-               list, unlistens, i, l, args, f, r, sysOnly, timerID;\r
+               list, unlistens, i, l, args, f, r, sysOnly, timerID, k;\r
        \r
        if( !listeners || !( list = listeners[ type || e ] ) ) return X_Callback_NONE;\r
        \r
@@ -315,14 +315,14 @@ function X_EventDispatcher_dispatch( e ){
                        \r
                        // _unlistens に入っている callbackHash は、lock をクリアしている\r
                        X_EventDispatcher_unlock = true;\r
-                       for( type in unlistens ){\r
-                               //if( X_EMPTY_OBJECT[ type ] ) continue;\r
-                               list = unlistens[ type ];\r
+                       for( k in unlistens ){\r
+                               //if( X_EMPTY_OBJECT[ k ] ) continue;\r
+                               list = unlistens[ k ];\r
                                for( i = list.length; i; ){\r
-                                       this[ 'unlisten' ]( type, list[ --i ] );\r
+                                       this[ 'unlisten' ]( k, list[ --i ] );\r
                                };\r
                                list.length = 0;\r
-                               delete unlistens[ type ];\r
+                               delete unlistens[ k ];\r
                        };\r
                        X_EventDispatcher_unlock = false;\r
                };\r
@@ -429,6 +429,7 @@ function X_EventDispatcher_systemListen( that, type, opt_arg1, opt_arg2, opt_arg
 function X_EventDispatcher_unlisten( opt_type, opt_arg1, opt_arg2, opt_arg3 ){\r
        var listeners = this[ '_listeners' ],\r
                list, reserves, unlistens, i, f, raw, k, empty;\r
+\r
        if( !listeners ) return this;\r
        \r
        if( X_Type_isArray( opt_type ) ){\r
@@ -810,7 +811,6 @@ function X_EventDispatcher_toggleAllEvents( that, add ){
        if( !list || !raw ) return;\r
        for( type in list ){\r
                //if( X_EMPTY_OBJECT[ type ] ) continue;\r
-               //if( type <= X_LISTENERS_KILL_RESERVED ) continue;\r
                // 数字イベントの除外\r
                if( !X_String_isNumberString( type ) ){\r
                        // TODO type rename はここ\r