0

我只是继承了一个有很多页面的 ExtJS 应用程序。此应用程序允许用户从 MS Word 粘贴。在 MS Word 2003 中,单引号和双引号不是正常的 ASCII 字符。当数据存储在数据库中时,它们被转换为方框或倒置问号,因为我们的数据库列不处理 Unicode,我们不想将列转换为处理 Unicode(数据应该只是 ASCII,除了这些报价)。我在网上找到了一个 JavaScript 函数,可以从给定的字符串中删除这些引号。

我通过添加以下内容来测试此功能:

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

这适用于一个元素/组件。但是我有大约 100 个组件,而使用这个应用程序,要找到这些组件并不容易。所以我决定做的是使用 jQuery 监听 body 元素上的 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,有没有办法获取组件呢?

4

1 回答 1

0

如果你有 domId 试试

var objComp = Ext.getCmp(domId); 

如果您使用任何布局尝试

var objComp = Ext.getCmp('center-region').getComponent(domId)
于 2012-04-30T12:46:19.520 回答