gpt4 book ai didi

events - 在 ExtJS 中,如何在组件中注入(inject) enableKeyEvents = true?

转载 作者:行者123 更新时间:2023-12-01 15:22:44 28 4
gpt4 key购买 nike

这是我的代码,

myText.enableKeyEvents = true; // **
myText.on('keyup', function(t){ console.log(t.getValue()); });

它不起作用,我想它可能有一些调用方法。
有人有想法吗?


完整代码

// function
var txfJump = function(txf){
var next = txf.nextSibling();
if(next.xtype == 'textfield'){
txf.enableKeyEvents = true;
txf.on('keyup', function(t, e){
if(t.getValue().length == t.maxLength){
next.focus();
}
});
txfJump(next);
}
};
// form
var p = new Ext.Panel({
title : 'test panel',
width : 400,
defaults: {
xtype : 'textfield',
},
items : [
{ ref : 'one', maxLength : 5 },
{ ref : 'two', maxLength : 5 },
{ ref : 'three',maxLength : 5 },
{
xtype : 'button',
text : 'SAMPLE'
},
{ ref : 'four', maxLength : 5 },
],
renderTo: Ext.getBody()
});

Ext.onReady(function(){
txfJump(p.one);
});

最佳答案

没有 hackish 技巧是不可能的。阅读了 TextField 的源代码后,我发现有一个私有(private)方法 initEvents,它为 html 元素设置回调 if and only如果 enableKeyEvents 已设置。因此,在调用 initEvents 之后更改 enableKeyEvents 无效,直到再次调用它。

要注入(inject)它,可以尝试触发组件的重新渲染,或者可以复制 TextFieldinitEvent 相关部分的行为。但是好像没有正式的办法。

关于events - 在 ExtJS 中,如何在组件中注入(inject) enableKeyEvents = true?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5949574/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com