2013-09-09 2 views
1

Я изучаю ExtJS из Сенча и имеют следующую простую задачу:ExtJS Ext.Button повторное

  • У меня есть 2 DIV на странице
  • В первый DIV я сделать Ext.Button
  • на кнопку мыши я хочу, чтобы переместить его в другой DIV
  • это все

Я пишу этот код:

HTML

<div id="div_1" style="border:1px solid gray; padding:5px; margin:5px;"></div> 
<div id="div_2" style="border:1px solid gray; padding:5px; margin:5px;"></div> 

JS

Ext.create('Ext.Button',{ 
str: 'I like to move it!', 
text:'Test Button', 
renderTo:'div_1', 
handler:function(){ 
    var parent_id = Ext.get(this.id).parent().id; 
    var renderTo = (parent_id == 'div_1') ? 'div_2' : 'div_1'; 
    this.cloneConfig({ 
     renderTo:renderTo 
    }); 
    Ext.get(parent_id).update(''); 
} 
}); 

Этот код решает эту проблему, но я думаю, что это плохая идея, чтобы создать новую кнопку и ясно, старые через йот манипуляции.

Вопрос: Каков правильный способ перемещения кнопки в другой div?

ответ

0

Ettavolt, из Sencha forum дать мне это решение:

handler:function(){ 
    var el = this.el, 
     current = el.up('').id; 
    el.appendTo((current == 'div_1') ? 'div_2' : 'div_1'); 
} 

Я думаю, что это лучший способ кнопку или любой другой элемент для перемещения.

0

Если вы так обеспокоены выступлением. Возможно, вы можете изменить положение divs и идентификаторов.

Использование чистого изменения положения css и замена идентификатора. Если это не влияет на другие функции.

+0

Спасибо за ваш ответ! Производительность меня не беспокоит. Я думаю, что это должен быть более правильный способ сделать это в стиле ExtJS. Но я не могу его найти. –