ExtJS - Изменения атрибутов игнорируются при перетаскивании
Мы используем ExtJS 4.2.1. Атрибуты ширины / высоты img не изменятся в следующем примере, когда элемент перетаскивается за координату y +/-5px. Изменения атрибута 'show' также игнорируются. Тем не менее, элемент может быть уничтожен и воссоздан, но это нежелательно.
[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);
};
}
Спасибо за вашу помощь!
2 ответа
Решено - неправильный синтаксис:
Вместо:
spriteLink.setAttributes(height, 0);
spriteLink.setAttributes(width, 0);
использовать:
spriteLink.setAttributes({width: 0, height:0} , true);
spriteLink.getEl().dom.setAttribute(height, 16);
是 使用的版本是4.2.1.883 ,上述写法正常支持