Javascript extjs4选择器itemid列编辑器
我正在尝试选择列的itemid编辑器,但无法从控制器截获事件 视图: 控制器:Javascript extjs4选择器itemid列编辑器,javascript,extjs4,Javascript,Extjs4,我正在尝试选择列的itemid编辑器,但无法从控制器截获事件 视图: 控制器: ...... this.control( '#fatturaVendita #txtCodiceArticolo': { afterrender: function (f, e) { alert("change");
......
this.control(
'#fatturaVendita #txtCodiceArticolo':
{
afterrender: function (f, e) {
alert("change");
},
specialkey: function (f, e) {
alert(specialkey);
var me = this;
if (e.getKey() == e.ENTER) {
if (getWin(me.getIdWin(), '#txtCodiceArticolo').getValue() == "") {
Ext.create('MyApp.view.fatturaVendita.Ricerca', { grd: "grdCorpoFatturaVendita", store: "ArticoloStore", dataDescrizione: "Descrizione", testoDescrizione: "Descrizione", idCampo: f.id, codice: f.name, descrizione: "DescrizioneArticolo" }).show();
}
}
},
},
......
我的网格列和编辑器中的所有字段都使用itemid,我只在windows“fatturaVendita”中使用id。
但是这个代码不起作用。我该怎么办=(
与此示例类似,但我无法使其工作。我似乎无法截获网格textfield的事件SpecialKey:
**
更新:
**
谢谢你的帮助,现在可以工作了,但我不明白。我有一个多窗口应用程序。我对控件使用itemid,而对每个窗口只使用id。如果我有两个窗口,并且我有相同的itemid(txtCodiceArticolo),extjs如何确定我要释放哪个事件?事实上,如果我使用
this.control({
'#idWindows #itemId': {
specialkey: function (f, e) {
if (e.getKey() == e.ENTER) {
alert("2");
}
}
}
。我不仅为列编辑器工作。我在您的小提琴中发现了一个严重错误,即没有调用控制器的
init()
函数,因此您的事件处理程序将永远不会运行
如果在Ext.application
函数中包含控制器,则框架会自动调用init()
函数,如下所示:
Ext.application({
controllers: [
'YourApp.Controller'
],
});
但是,如果您试图手动实例化控制器,则需要手动调用init()
:
Ext.define('YourApp.Controller', {...});
var ctrl = Ext.create('YourApp.Controller');
ctrl.init();
这是对这一点的解释
我让你的小提琴工作了,但似乎只有回车键触发了specialkey
事件。请查看
更新:
您有多个窗口,每个窗口都有不同的id,比如它们的id是“window1”、“window2”等。在控制器中,您将有如下内容:
this.control({
'#window1 #txtCodiceArticolo': {
specialkey: {...}
},
'#window2 #txtCodiceArticolo': {
specialkey: {...}
}
})
这意味着第一个“specialkey”属于window1的txtCodiceArticolo,第二个“specialkey”属于window2的txtCodiceArticolo。你能创建一个提琴来演示你的问题吗?嗨,因为我使用sencha architecth作为我的视图,所以我尝试了一个make un jfiddle。我想拦截控制器,t的特殊关键事件我的列的extfield,分配了一个项目idI已经这样做了。但未能截获任何事件。=(为什么?
this.control({
'#window1 #txtCodiceArticolo': {
specialkey: {...}
},
'#window2 #txtCodiceArticolo': {
specialkey: {...}
}
})