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
\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
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
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