gpt4 book ai didi

javascript - 如何检查是否在文本区域上按下了 Shift+Enter

转载 作者:行者123 更新时间:2023-11-30 13:15:38 26 4
gpt4 key购买 nike

如果按下 Enter 我想提交表单,如果按下 Shift + Enter 则停止事件。此回调具有 Ext.EventObject 参数,该参数不提供任何方法来检查是否按下了 shiftkey。

它有两个方法.hasModifier.isSpecialKey。两者都返回 boolean。无法查找是否按下了 shiftkey。我如何追踪它?

这是我的文本区域组件:

{
region : 'center',
margins : '5 0 0 0',
xtype : 'textarea',
name : 'chatmessage',
enableKeyEvents: true,
listeners: {
keydown: function(textfield, evt, eOpts){
console.log(evt.getKey());
}
}
}

我尝试了 evt.shiftKey。它是未定义的。

最佳答案

这可以通过使用 keydown 和 keyup 事件标志的小技巧来完成。

listeners : {
keydown : function(tf, e, opt) {
if (e.getKey() == e.SHIFT) {
this.shiftKeyPressed = true; // a flag
return;
}
if (e.getKey() != e.ENTER && (this.shiftKeyPressed == undefined || (this.shiftKeyPressed == false))) {
// Submit form
e.stopEvent();
}
},
keyup : function(tf, e, eOpts) {
if (e.getKey() == e.SHIFT) {
this.shiftKeyPressed = false;
}
}
}

关于javascript - 如何检查是否在文本区域上按下了 Shift+Enter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12118944/

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