2016-10-24 5 views
0

Мы используем ExtJS 4.2.1. Атрибуты width/height img не будут меняться ниже, когда элемент перетаскивается за координату y/x +/- 5px. Изменения в атрибуте '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 (высота, 16);

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

+0

Thanks YangYang. Это может быть правильный подход. Единственная проблема заключается в том, что я получаю «Uncaught TypeError: spriteLink.getEl не является функцией» при использовании «spriteLink.getEl(). Dom.setAttribute (height, 16);» – user3780948

+0

Добро пожаловать в переполнение стека! Хотя этот код может помочь решить проблему, он не объясняет _why_ и/или _how_, он отвечает на вопрос. Предоставление этого дополнительного контекста значительно улучшит его долгосрочную образовательную ценность. Пожалуйста, отредактируйте свой ответ, чтобы добавить объяснение, включая ограничения и допущения. –

0

решаемая - неправильный синтаксис:

Вместо:

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

использования:

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

 Смежные вопросы

  • Нет связанных вопросов^_^