2011-11-30 129 views
0

是否可以將div3移到div2前面而不丟失事件處理程序?Extjs dom操作

<div id='container'> 
    <div id='1'>.......</div> 
    <div id='2'>.......</div> 
    <div id='3'>.......</div> 
</div> 

回答

3

有幾個方法:

http://docs.sencha.com/ext-js/4-0/#!/api/Ext.Element

見:的insertBefore/insertSibling

Ext.onReady(function() { 
    var ct = Ext.getBody().createChild({ 
     cn: [{ 
      id: 'item1', 
      html: 'Item 1' 
     }, { 
      id: 'item2', 
      html: 'Item 2' 
     }, { 
      id: 'item3', 
      html: 'Item 3' 
     }] 
    }), moved = false; 

    Ext.get('item3').on('click', function(){ 
     if (moved) { 
      console.log('click'); 
     } else { 
      Ext.get('item3').insertBefore('item2'); 
      moved = true;  
     } 
    }); 
}); 
+0

內容已經呈現我所描述的方式。我想剪切/粘貼div3,讓它在div2保持處理程序之前移動。我不想插入新內容。 – user732456

+0

你還打算試試嗎?上面的完整示例。 –

+0

我昨天在筆記本上試過了。我很驚訝,它的工作,我去檢查來源也。 (對不起,我不能早寫,但在技術維護期間挖掘機撕下電纜,整個晚上我有電力問題+沒有互聯網) – user732456