1

Sencha から ExtJS を学び、次の簡単なタスクがあります。

  • ページに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('');
 }
});

このコードは問題を解決しますが、新しいボタンを作成し、dom 操作で古いボタンをクリアするのは悪い考えだと思います。

質問: ボタンを別の div に移動する正しい方法は何ですか?

4

2 に答える 2

0

性能が気になるなら。divとidの位置を変更できるかもしれません。

純粋なCSSの位置変更を使用してIDを交換します。他の機能に影響しない場合。

于 2013-09-09T07:33:28.513 に答える
0

Sencha フォーラムのEttavolt さんから、次のような決定が下されました。

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

ボタンやその他の要素を移動するのに最適な方法だと思います。

于 2013-09-11T08:09:43.110 に答える