2011-11-30 77 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