OSDN Git Service

Version 0.6.39, bugfix for listenOnce().
[pettanr/clientJs.git] / 0.6.x / js / dom / 12_XDomEvent.js
index 87f7b37..586e33e 100644 (file)
@@ -211,7 +211,7 @@ X.Dom.Node.prototype._addEvent =
                        var raw = this._rawNode;\r
                        if( !raw ) return;\r
                        this._handleEvent = this._handleEvent || X.Callback.create( this );\r
-                       if( this._isImage ){\r
+                       if( this._xnodeType === 4 ){ // Image\r
                                raw[ 'on' + type ] = this._handleEvent;\r
                        } else {\r
                                raw.addEventListener( type, this._handleEvent, false );\r
@@ -251,7 +251,7 @@ X.Dom.Node.prototype._removeEvent =
                        var raw = this._rawNode;\r
                        if( !raw ) return;\r
                        \r
-                       if( raw.constructor === Image ){\r
+                       if( this._xnodeType === 4 ){ // Image\r
                                raw[ 'on' + type ] = '';\r
                        } else {\r
                                raw.removeEventListener( type, this._handleEvent, false );\r
@@ -352,15 +352,6 @@ X.Dom.Node.prototype._restoreEvent = function(){
 // safari1.3 可\r
 // http://shimax.cocolog-nifty.com/search/2006/09/safarijavascrip_c54d.html\r
 \r
-// Re: onLoad doesn't work with Safari?\r
-// http://lists.apple.com/archives/web-dev/2003/Oct/msg00036.html\r
-if( X.UA.Safari && X.UA.Safari < 3 ){\r
-       X.Timer.add( 10, function(){\r
-               if( !X.Dom._init ) return X.Callback.UN_LISTEN;\r
-               if( 'loaded|complete'.indexOf( document.readyState ) !== -1 ) return X.Dom._init();\r
-       } );\r
-} else\r
-\r
 /* for ie9+/Mozilla/Opera9 */\r
 if( X.Dom.DOM_W3C ){\r
        Node._document.listenOnce( 'DOMContentLoaded', X.Dom._init );\r
@@ -373,7 +364,9 @@ if( 5 <= X.UA.IE && X.inHead ){
                this.readyState === 'complete' && X.Dom._init();\r
        };\r
 } else\r
-if( X.UA.WebKit ){ // sniff\r
+// Re: onLoad doesn't work with Safari?\r
+// http://lists.apple.com/archives/web-dev/2003/Oct/msg00036.html\r
+if( X.UA.WebKit || ( X.UA.Safari && X.UA.Safari < 3 ) ){ // sniff\r
        X.Timer.add( 10, function(){\r
                if( !X.Dom._init ) return X.Callback.UN_LISTEN;\r
                if( 'loaded|complete'.indexOf( document.readyState ) !== -1 ) return X.Dom._init();\r