for( i = type.length; i; ){\r
X_EventDispatcher_actualAddEvent( that, type[ --i ], raw, list );\r
};\r
- } else {\r
+ } else\r
+ if( that._isXHR && X.UA.Opera < 12 ){\r
+ // Opera11- の XHR は event オブジェクトが返らないため, eventType 毎に callback を指定する addEventListener もない\r
+ raw[ 'on' + type ] = X_Callback_create( that, X_EventDispatcher_dispatch, [ type ] );\r
+ } else\r
+ if( that._isSilverlight ){\r
+ list.slcallback = X_Callback_create( that, X_EventDispatcher_sliverLightDispatch, [ type ] );\r
+ list.sltoken = raw.AddEventListener( type, list.slcallback );\r
+ } else { \r
that._handleEvent || ( that._handleEvent = X_Callback_create( that, X_EventDispatcher_actualHandleEvent ) );\r
- \r
- if( that._isSilverlight ){\r
- list.slcallback = X_Callback_create( that, X_EventDispatcher_sliverLightDispatch, [ type ] );\r
- list.sltoken = raw.AddEventListener( type, list.slcallback );\r
- } else\r
+\r
if( raw.addEventListener ){\r
raw.addEventListener( type, that._handleEvent, false );\r
} else {\r
// Safari は Image, Opera7 は window\r
raw[ 'on' + type ] = that._handleEvent;\r
- }; \r
+ };\r
};\r
}) :\r
X_UA_EVENT.IE ?\r
//if( type === 'load' && that._tag && X.Dom.Event._LOAD_FIX_TAGS[ that._tag ] ){\r
// type = 'readystatechange';\r
//};\r
+\r
+ type = X.Dom.Event.Rename[ type ] || type;\r
+ \r
+ if( X.Type.isArray( type ) ){\r
+ for( i = type.length; i; ){\r
+ X_EventDispatcher_actualAddEvent( that, type[ --i ], raw, list );\r
+ };\r
+ } else\r
if( that._isXHR ){\r
// ie8- の XHR は window.event が更新されないため, eventType 毎に callback を指定する\r
raw[ 'on' + type ] = X_Callback_create( that, X_EventDispatcher_dispatch, [ type ] );\r
- } else {\r
- type = X.Dom.Event.Rename[ type ] || type;\r
+ } else \r
+ if( that._isSilverlight ){\r
+ list.slcallback = X_Callback_create( that, X_EventDispatcher_sliverLightDispatch, [ type ] );\r
+ list.sltoken = raw.AddEventListener( type, list.slcallback );\r
+ } else { \r
+ that._handleEvent || ( that._handleEvent = X_Callback_create( that, X_EventDispatcher_actualHandleEvent ) );\r
\r
- if( X.Type.isArray( type ) ){\r
- for( i = type.length; i; ){\r
- X_EventDispatcher_actualAddEvent( that, type[ --i ], raw, list );\r
- };\r
- } else{\r
- that._handleEvent || ( that._handleEvent = X_Callback_create( that, X_EventDispatcher_actualHandleEvent ) );\r
- \r
- if( that._isSilverlight ){\r
- list.slcallback = X_Callback_create( that, X_EventDispatcher_sliverLightDispatch, [ type ] );\r
- list.sltoken = raw.AddEventListener( type, list.slcallback );\r
- } else\r
- if( raw.attachEvent ){\r
- raw.attachEvent( 'on' + type, that._handleEvent );\r
- } else {\r
- raw[ 'on' + type ] = that._handleEvent;\r
- };\r
- }; \r
+ if( raw.attachEvent ){\r
+ raw.attachEvent( 'on' + type, that._handleEvent );\r
+ } else {\r
+ raw[ 'on' + type ] = that._handleEvent;\r
+ };\r
};\r
}) :\r
(function( that, type, raw, list ){\r
for( i = type.length; i; ){\r
X_EventDispatcher_actualAddEvent( that, type[ --i ], raw, list );\r
};\r
+ } else\r
+ if( that._isXHR ){\r
+ // ie4 mobile は XHR をサポート!\r
+ raw[ 'on' + type ] = X_Callback_create( that, X_EventDispatcher_dispatch, [ type ] );\r
+ } else\r
+ if( that._isSilverlight ){\r
+ list.slcallback = X_Callback_create( that, X_EventDispatcher_sliverLightDispatch, [ type ] );\r
+ list.sltoken = raw.AddEventListener( type, list.slcallback );\r
} else {\r
- that._handleEvent || ( that._handleEvent = X_Callback_create( that, X_EventDispatcher_actualHandleEvent ) );\r
- \r
- if( that._isSilverlight ){\r
- list.slcallback = X_Callback_create( that, X_EventDispatcher_sliverLightDispatch, [ type ] );\r
- list.sltoken = raw.AddEventListener( type, list.slcallback );\r
- } else {\r
- raw[ 'on' + type ] = that._handleEvent;\r
- };\r
+ raw[ 'on' + type ] = that._handleEvent || ( that._handleEvent = X_Callback_create( that, X_EventDispatcher_actualHandleEvent ) );\r
};\r
});\r
\r
var X_EventDispatcher_actualRemoveEvent =\r
X_UA_EVENT.W3C /*&& ( X.UA.WebKit < 525.13 || X.UA.Opera7 || X.UA.NetFront < 4 )*/ ? // Safari3-\r
(function( that, type, raw, list, skip ){\r
+ var i;\r
type = X.Dom.Event.Rename[ type ] || type;\r
\r
if( X.Type.isArray( type ) ){\r
for( i = type.length; i; ){\r
X_EventDispatcher_actualRemoveEvent( that, type[ --i ], raw, list, i ? true : skip );\r
};\r
+ } else\r
+ if( that._isXHR && X.UA.Opera < 12 ){\r
+ X_Callback_correct( raw[ 'on' + type ] );\r
+ raw[ 'on' + type ] = '';\r
+ } else \r
+ if( that._isSilverlight ){\r
+ raw.RemoveEventListener( type, list.sltoken ); // token\r
+ X_Callback_correct( list.slcallback );\r
+ delete list.sltoken;\r
+ delete list.slcallback;\r
} else {\r
- \r
- if( that._isSilverlight ){\r
- raw.RemoveEventListener( type, list.sltoken ); // token\r
- X_Callback_correct( list.slcallback );\r
- delete list.sltoken;\r
- delete list.slcallback;\r
+ if( raw.addEventListener ){\r
+ raw.removeEventListener( type, that._handleEvent, false );\r
} else {\r
- if( raw.addEventListener ){\r
- raw.removeEventListener( type, that._handleEvent, false );\r
- } else {\r
- raw[ 'on' + type ] = null;\r
- };\r
- if( !skip ){\r
- X_Callback_correct( that._handleEvent );\r
- delete that._handleEvent;\r
- }; \r
+ raw[ 'on' + type ] = null;\r
+ };\r
+ if( !skip ){\r
+ X_Callback_correct( that._handleEvent );\r
+ delete that._handleEvent;\r
};\r
};\r
}) :\r
//if( type === 'load' && that._tag && X.Dom.Event._LOAD_FIX_TAGS[ that._tag ] ){\r
// type = 'readystatechange';\r
//};\r
+\r
+ type = X.Dom.Event.Rename[ type ] || type;\r
+ \r
+ if( X.Type.isArray( type ) ){\r
+ for( i = type.length; i; ){\r
+ X_EventDispatcher_actualRemoveEvent( that, type[ --i ], raw, list, i ? true : skip );\r
+ };\r
+ } else\r
if( that._isXHR ){\r
X_Callback_correct( raw[ 'on' + type ] );\r
raw[ 'on' + type ] = X.emptyFunction;\r
raw[ 'on' + type ] = '';\r
+ } else \r
+ if( that._isSilverlight ){\r
+ raw.RemoveEventListener( type, list.sltoken ); // token\r
+ X_Callback_correct( list.slcallback );\r
+ delete list.sltoken;\r
+ delete list.slcallback;\r
} else {\r
- type = X.Dom.Event.Rename[ type ] || type;\r
- \r
- if( X.Type.isArray( type ) ){\r
- for( i = type.length; i; ){\r
- X_EventDispatcher_actualRemoveEvent( that, type[ --i ], raw, list, i ? true : skip );\r
- };\r
+ if( raw.attachEvent ){\r
+ raw.detachEvent( 'on' + type, that._handleEvent );\r
} else {\r
- \r
- if( that._isSilverlight ){\r
- raw.RemoveEventListener( type, list.sltoken ); // token\r
- X_Callback_correct( list.slcallback );\r
- delete list.sltoken;\r
- delete list.slcallback;\r
- } else {\r
- if( raw.attachEvent ){\r
- raw.detachEvent( 'on' + type, that._handleEvent );\r
- } else {\r
- raw[ 'on' + type ] = X.emptyFunction;\r
- raw[ 'on' + type ] = '';\r
- };\r
- \r
- if( !skip ){\r
- X_Callback_correct( that._handleEvent );\r
- delete that._handleEvent;\r
- }; \r
- };\r
+ raw[ 'on' + type ] = X.emptyFunction;\r
+ raw[ 'on' + type ] = '';\r
+ };\r
+ \r
+ if( !skip ){\r
+ X_Callback_correct( that._handleEvent );\r
+ delete that._handleEvent;\r
};\r
};\r
}) :\r
for( i = type.length; i; ){\r
X_EventDispatcher_actualRemoveEvent( that, type[ --i ], raw, list, i ? true : skip );\r
};\r
+ } else\r
+ if( that._isXHR ){\r
+ X_Callback_correct( raw[ 'on' + type ] );\r
+ raw[ 'on' + type ] = X.emptyFunction;\r
+ raw[ 'on' + type ] = '';\r
+ } else\r
+ if( that._isSilverlight ){\r
+ raw.RemoveEventListener( type, list.sltoken ); // token\r
+ X_Callback_correct( list.slcallback );\r
+ delete list.sltoken;\r
+ delete list.slcallback;\r
} else {\r
+ raw[ 'on' + type ] = X.emptyFunction;\r
+ raw[ 'on' + type ] = '';\r
\r
- if( that._isSilverlight ){\r
- raw.RemoveEventListener( type, list.sltoken ); // token\r
- X_Callback_correct( list.slcallback );\r
- delete list.sltoken;\r
- delete list.slcallback;\r
- } else {\r
- raw[ 'on' + type ] = X.emptyFunction;\r
- raw[ 'on' + type ] = '';\r
- \r
- if( !skip ){\r
- X_Callback_correct( that._handleEvent );\r
- delete that._handleEvent;\r
- }; \r
+ if( !skip ){\r
+ X_Callback_correct( that._handleEvent );\r
+ delete that._handleEvent;\r
};\r
};\r
});\r