X-Git-Url: http://git.osdn.jp/view?a=blobdiff_plain;f=0.6.x%2Fjs%2Fui%2F06_AbstractUINode.js;h=73d9c4bb6788a84683db200ab8261067a3227f55;hb=46d3fdf2559c59963e53ff6136c3fd58cd8f7a6d;hp=20acbe1b46257bc23769d86c0780bad5355879ea;hpb=674534de31c071bb05799c874ece43a07a7883eb;p=pettanr%2FclientJs.git diff --git a/0.6.x/js/ui/06_AbstractUINode.js b/0.6.x/js/ui/06_AbstractUINode.js index 20acbe1..73d9c4b 100644 --- a/0.6.x/js/ui/06_AbstractUINode.js +++ b/0.6.x/js/ui/06_AbstractUINode.js @@ -62,9 +62,6 @@ var _AbstractUINode = X.EventDispatcher.inherits( // :hover, :focus, :disabled initialize : function( root, rootData, parent, parentData ){ - var events = this.reserveEvents, - l, i; - this.root = root; this.rootData = rootData; this.parent = parent; @@ -73,15 +70,6 @@ var _AbstractUINode = X.EventDispatcher.inherits( this.phase = 1; this.dispatch( { type : X.UI.Event.INIT } ); - - // html 要素が親に追加されるまで控えていたイベントの登録 - if( events && ( l = events.length ) ){ - for( i = 0; i < l; ++i ){ - this.listen.apply( this, events[ i ] ); - }; - events.length = 0; - delete this.reserveEvents; - }; }, addToParent : function( parentElement ){ @@ -92,8 +80,20 @@ var _AbstractUINode = X.EventDispatcher.inherits( }, creationComplete : function(){ + var events = this.reserveEvents, + l, i; + this.phase = 3; this.User.dispatch( { type : X.UI.Event.CREATION_COMPLETE } ); + + // html 要素が親に追加されるまで控えていたイベントの登録 + if( events && ( l = events.length ) ){ + for( i = 0; i < l; ++i ){ + this.listen.apply( this, events[ i ] ); + }; + events.length = 0; + delete this.reserveEvents; + }; }, /* @@ -415,8 +415,8 @@ var _AbstractUINode = X.EventDispatcher.inherits( * X.Dom.BoxModel の情報を引きながら top,left,width,height,padding,border の設定 */ updateLayout : function( x, y ){ - x += this.boxX; - y += this.boxY; + this.boxX = x; + this.boxY = y; this.xnode .css( 'left', x ? x + 'em' : 0 ) .css( 'top', y ? y + 'em' : 0 ) @@ -745,6 +745,7 @@ var _AbstractUINode = X.EventDispatcher.inherits( y -= this.boxY; if( 0 <= x && x < this.boxWidth && 0 <= y && y < this.boxHeight ){ + !this.hovering && ( this.rootData.hoverList[ this.rootData.hoverList.length ] = this ); this.rootData.targetNodeData = this; return true; @@ -767,6 +768,7 @@ var _AbstractUINode = X.EventDispatcher.inherits( this.gesture.listen( type ); }; } else { + console.log( type ) root = this.rootData; counter = root.eventCounter; if( counter[ type ] ){