case 'blur' :
case 'focusout' :
- if( X_UA[ 'IE' ] < 9 ){
+ if( 5 < X_UA[ 'IE' ] && X_UA[ 'IE' ] < 9 ){
xnode = X_Node_getXNode( document.activeElement );
if( xnode ){
xnode[ 'listenOnce' ]( [ 'focus', 'blur' ], X_ViewPort_detectFocusForIE );
);
function X_ViewPort_detectFocusForIE( e ){
- console.log( 'iefix! ' + e.type + ':' + this.attr( 'tag' ) + ' isActive?:' + ( this[ '_rawObject' ] === document.activeElement ) );
-
+ //console.log( 'iefix! ' + e.type + ':' + this.attr( 'tag' ) + ' isActive?:' + ( this[ '_rawObject' ] === document.activeElement ) );
+ var elmActive = X_Script_try( X_Object_find, [ document, 'activeElement' ] );
X_ViewPort_active = e.type === 'focus';
- if( this[ '_rawObject' ] !== document.activeElement ){
+
+ if( elmActive && this[ '_rawObject' ] !== elmActive ){
this[ 'unlisten' ]( X_ViewPort_active ? 'blur' : 'focus', X_ViewPort_detectFocusForIE );
+ console.log( '>>>>>> activeElement 取得 不一致 ' + this._tag );
+ } else
+ if( !elmActive ){
+ console.log( '******** activeElement 取得のエラー' );
+ } else if( elmActive ){
+ console.log( '>>>>>> activeElement 取得' );
};
+
if( X_ViewPort_activeTimerID ){
- X_ViewPort_activeTimerID = X_Timer_remove( X_ViewPort_activeTimerID );
+ X_Timer_remove( X_ViewPort_activeTimerID );
};
X_ViewPort_activeTimerID = X_Timer_once( 16, X_ViewPort_changeFocus );
//(((t = document.documentElement) || (t = document.body.parentNode)) && typeof t.ScrollLeft == 'number' ? t : document.body).ScrollLeft;
//(((t = document.documentElement) || (t = document.body.parentNode)) && typeof t.ScrollTop == 'number' ? t : document.body).ScrollTop
- /*
- * TODO X.Doc へ
+ // TODO X.Doc へ
+ /**
* @alias X.ViewPort.getDocumentSize
*/
'getDocumentSize' : function(){
} else
if( 6 <= X_UA[ 'IE' ] && X[ 'inHead' ] && !X_UA[ 'ieExeComError' ] ){ // standalone の除外 -> && !X_UA[ 'ieExeComError' ]
// if this script in Head
- document.write( '<script id=__ieonload defer src=javascript:void(0)></script>' );
- X_TEMP._script = document.getElementById( '__ieonload' );
+ //document.write( '<script id=__ieonload defer src=javascript:void(0)></script>' );
+ //X_TEMP._script = document.getElementById( '__ieonload' );
// 上のコードはスタンドアローン版ie6でエラー
- //X_TEMP._script = document.createElement( '<script id=__ieonload defer src=javascript:void(0)></script>' ) ;
- //document.getElementsByTagName( 'head' )[ 0 ].appendChild( X_TEMP._script );
+ X_TEMP._script = document.createElement( '<script id=__ieonload defer src=javascript:void(0)></script>' ) ;
+ document.getElementsByTagName( 'head' )[ 0 ].appendChild( X_TEMP._script );
X_TEMP._script.onreadystatechange = function(){
var s = X_TEMP._script;