2016-10-24 8 views
0

私たちはExtJS 4.2.1を使用しています。要素が+/- 5pxのy座標を超えてドラッグされた場合、imgのwidth/height属性は以下の例では変更されません。属性 'show'に対する変更も無視されます。ただし、要素を破棄して再作成することはできますが、これは望ましくありません。あなたの助けのためのExtJS - ドラッグ操作中に属性変更が無視されています

[panel] 
 
var dndLinkSprite = me.surface.add({        
 
    type: 'image', 
 
    x: bBox.x, 
 
    y: bBox.y, 
 
    width: 16, 
 
    height: 16, 
 
    src: '/link.png' 
 
}) 
 

 
... 
 

 
dragAction: function(panel, e, diff, dndConfig) { 
 
    var spriteLink = panel.dndLinkSprite; 
 
    if (diff[1] > 5 || diff[1] < -5) { 
 
     spriteLink.setAttributes(height, 16); 
 
     spriteLink.setAttributes(width, 16); 
 
    } else { 
 
     spriteLink.setAttributes(height, 0); 
 
     spriteLink.setAttributes(width, 0);   
 
    }; 
 
}

ありがとう!

答えて

-1

spriteLink.getEl()。dom.setAttribute(height、16);

我使用的版本是4.2.1.883、上述写法正常支持

+0

ありがとうYangYang。これは正しいアプローチかもしれません。 SpriteLink.getEl()。dom.setAttribute(height、16);を使用すると、「Uncaught TypeError:spriteLink.getElが関数ではありません」という問題のみが発生します。 – user3780948

+0

ようこそスタックオーバーフロー!このコードは問題を解決するのに役立つかもしれませんが、質問に答えて_why_および/または_how_を説明しません。この追加の文脈を提供することは、長期的な教育的価値を大幅に改善するだろう。どのような制限や仮定が適用されるかなど、あなたの答えを解説してください。 –

0

解決 - 間違った構文:

の代わりに:

spriteLink.setAttributes(height, 0); 
 
spriteLink.setAttributes(width, 0);

使用:

spriteLink.setAttributes({width: 0, height:0} , true);

関連する問題