- 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
- if( ( X_UA.WebKit || X_UA.Blink ) &&\r
- ( type === 'webkitTransitionEnd' || type === 'transitionend' ||\r
- type === 'animationend' || type === 'webkitAnimationEnd' ||\r
- type === 'animationstart' || type === 'webkitAnimationStart' ||\r
- type === 'animationiteration' || type === 'webkitAnimationIteration' ) ){\r
- raw.removeEventListener( type, X_EventDispatcher_iOSTransitionEndDispatch, false );\r
- } else {\r
- \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
+ switch( that[ '_rawType' ] ){\r
+ case X_EventDispatcher_EVENT_TARGET_TYPE.SILVER_LIGHT :\r
+ raw.RemoveEventListener( type, list.sltoken ); // token\r
+ X_Callback_correct( list.slcallback );\r
+ delete list.sltoken;\r
+ delete list.slcallback;\r
+ break;\r
+ \r
+ case X_EventDispatcher_EVENT_TARGET_TYPE.XHR :\r
+ if( X_UA.Opera < 12 ){\r
+ // Opera11- の XHR は event オブジェクトが返らないため, eventType 毎に callback を指定する addEventListener もない\r
+ X_Callback_correct( raw[ 'on' + type ] );\r
+ raw[ 'on' + type ] = '';\r
+ break;\r
+ };\r
+\r
+ default :\r
+ if( ( X_UA.WebKit || X_UA.Blink ) &&\r
+ ( type === 'webkitTransitionEnd' || type === 'transitionend' ||\r
+ type === 'animationend' || type === 'webkitAnimationEnd' ||\r
+ type === 'animationstart' || type === 'webkitAnimationStart' ||\r
+ type === 'animationiteration' || type === 'webkitAnimationIteration' ) ){\r
+ raw.removeEventListener( type, X_EventDispatcher_iOSTransitionEndDispatch, false );\r
+ } else \r
+ if( raw.addEventListener ){\r
+ raw.removeEventListener( type, that[ '_listeners' ]._handleEvent, false );\r
+ } else {\r
+ raw[ 'on' + type ] = null;\r
+ };\r
+ \r
+ if( !skip && that[ '_listeners' ]._handleEvent ){\r
+ X_Callback_correct( that[ '_listeners' ]._handleEvent );\r
+ delete that[ '_listeners' ]._handleEvent;\r
+ };\r