如果我知道DOM元素的ID,如何获取组件?

问题描述:

我只是继承了一个有很多页面的ExtJS应用程序。此应用程序允许用户从MS Word粘贴。在MS Word 2003中,单引号和双引号不是普通的ASCII字符。当数据存储在数据库中时,它们被转换为方框或倒置问号,因为我们的数据库列不处理Unicode,并且我们不希望将列转换为处理Unicode(数据只应该是ASCII,除了这些引号)。我在网上发现了一个JavaScript函数,可以从给定的字符串中删除这些引号。如果我知道DOM元素的ID,如何获取组件?

我已经测试通过添加此功能:

enableKeyEvents: true, 
listeners: { 
    keyup: function(c,e) { ... } 
} 

这对于一个元素/组件工作正常。但是我有大约100个组件,使用这个应用程序,找到这些组件并不容易。因此,我决定做的是监听使用jQuery体元素的keyup事件:

jQuery('body').keyup(function(e) { 
    var keyCode = e.which; 
    if ((keyCode == 86) && (e.ctrlKey)) { 
     var domEl = e.target; 
     var domId = domEl.getAttribute('id'); 
    } 
} 

此应用程序使用网格组件和其他非并网组件。为了可靠地获取和设置值,我想获取组件并使用它的getValue()和setValue()方法。那么,知道DOM元素的ID,是否有办法获得组件?

+0

有没有人对我怎样才能从元素的ID获取该组件的任何想法,或关于如何解决我的问题的任何建议? – Khai 2012-04-27 19:38:34

,如果你有domId与

var objComp = Ext.getCmp(domId); 

尝试,如果你使用任何布局尝试

var objComp = Ext.getCmp('center-region').getComponent(domId)