gpt4 book ai didi

javascript - ExtJs 在 ENTER 按键上模拟 TAB

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:49:29 25 4
gpt4 key购买 nike

我知道这不是最聪明的主意,但我还是必须这样做。我们的用户想像使用 TAB 一样使用 ENTER。所以,我想到的最好的办法是:

Ext.override(Ext.form.field.Base, {
initComponent: function() {
this.callParent(arguments);

this.on('afterrender', function() {
var me=this;
this.getEl().on('keypress',function (e){
if(e.getKey() == 13) {
me.nextNode().focus();
}
});
});
}
});

但它的工作方式仍然与 TAB 不完全相同。我的意思是,它适用于输入字段,但不适用于其他控件。可能有一些低级解决方案。有什么想法吗?

最佳答案

过去我将监听器附加到文档中,如下所示:

Ext.getDoc().on('keypress', function(event, target) {

// get the form field component
var targetEl = Ext.get(target.id),
fieldEl = targetEl.up('[class*=x-field]') || {},
field = Ext.getCmp(fieldEl.id);

if (
// the ENTER key was pressed...
event.ENTER == event.getKey() &&

// from a form field...
field &&

// which has valid data.
field.isValid()

) {

// get the next form field
var next = field.next('[isFormField]');

// focus the next field if it exists
if (next) {
event.stopEvent();
next.focus();
}
}
});

关于javascript - ExtJs 在 ENTER 按键上模拟 TAB,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11682175/

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