2016-10-24 1 views
0

ignoriert Wir verwenden ExtJS 4.2.1. Die Attribute width/height des img ändern sich im folgenden Beispiel nicht, wenn das Element über die +/- 5px Y-Koordinate hinaus gezogen wird. Änderungen am Attribut 'show' werden ebenfalls ignoriert. Element kann jedoch zerstört und neu erstellt werden, aber dies ist nicht erwünscht.ExtJS - Attribute Veränderungen während der Drag-Aktion werden

[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);   
 
    }; 
 
}

Vielen Dank für Ihre Hilfe!

Antwort

-1

spriteLink.getEl() dom.setAttribute (Höhe, 16).

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

+0

Dank Xiangfan. Dies könnte der richtige Ansatz sein. Das einzige Problem ist, dass ich einen "Uncaught TypeError: spriteLink.getEl ist keine Funktion" bei der Verwendung von "spriteLink.getEl(). Dom.setAttribute (height, 16);" – user3780948

+0

Willkommen bei Stack Overflow! Obwohl dieser Code helfen kann, das Problem zu lösen, erklärt er nicht, warum und/oder wie er die Frage beantwortet. Die Bereitstellung dieses zusätzlichen Kontextes würde seinen langfristigen Bildungswert erheblich verbessern. Bitte [bearbeiten] Sie Ihre Antwort, um eine Erläuterung hinzuzufügen, einschließlich der Einschränkungen und Annahmen. –

0

Gelöst - falsche Syntax:

Statt:

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

Verwendung:

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

Verwandte Themen