标签: keycode

在keyCode上提交表单=="输入"(13)

当我按下Enter键时,我需要提交表单的内容,但前提是表单没有错误消息.我建立了以下功能:

$(targetFormID).submit(function (e) {
    var mess = error_m(targetDiv);
    if (e.keyCode == 13 && mess.length > 0) {
        e.preventDefault();
        e.stopPropagation();
    }
    if (mess.length == 0 && e.keyCode == 13) $(targetFormID).submit();
}); 
Run Code Online (Sandbox Code Playgroud)

在这个函数中,mess变量获取函数返回的错误消息error_m,其余的是简单的代码条件,但它不起作用.

需要一些帮助!!

javascript jquery keycode

6
推荐指数
1
解决办法
4万
查看次数

KeyDown识别左右方​​向箭头键,但不能上下

使用下面的代码,左箭头键和右箭头键按预期运行,但不识别向上和向下箭头(单步执行它,在适当的情况下满足前两个条件,但后两个条件永远不会):

private void textBox1_KeyDown(object sender, KeyEventArgs e) {
    TextBox tb = (TextBox)sender;

    if (e.KeyCode.Equals(Keys.Left)) {
        SetFocusOneColumnBack(tb.Name);
        e.Handled = true;
        return;
    }
    if (e.KeyCode.Equals(Keys.Right)) {
        SetFocusOneColumnForward(tb.Name);
        e.Handled = true;
        return;
    }
    if (e.KeyCode.Equals(Keys.Up)) {
        SetFocusOneRowUp(tb.Name);
        e.Handled = true;
        return;
    }
    if (e.KeyCode.Equals(Keys.Down)) {
        SetFocusOneRowDown(tb.Name);
        e.Handled = true;
        return;
    }
}
Run Code Online (Sandbox Code Playgroud)

为什么会这样,我该如何解决?

UPDATE

这是我在踩过e.Keycode时看到的内容.如果我按下

  • ...左箭头键,我看到: e.KeyCode = "LButton | MButton | Space"
  • ...右箭头键,我看到: e.KeyCode = "LButton | RButton | MButton | Space"
  • ......向上箭头键,我看到: e.KeyCode = "RButton | MButton | Space"
  • ...向下箭头键,我看到: e.KeyCode …

c# keycode keydown arrow-keys winforms

6
推荐指数
1
解决办法
1万
查看次数

如何将Linux密钥从/ dev/input/event*转换为ASCII

我正在尝试将从/ dev/input/event0读取的键盘事件从定义的值转换为未运行X或终端的嵌入式应用程序中的ASCII等效项.

我认为这应该通过Linux中定义的键盘映射功能来完成,而不仅仅是创建我自己的std :: map <>但我似乎无法找到一个好的起点.到目前为止,我发现的大多数示例都假设我使用的是X窗口或终端.

linux embedded ascii keycode

6
推荐指数
1
解决办法
2809
查看次数

如何检测空间是否已退格或已删除

我需要找到一种方法来检测空间是否被删除或退格,并在这种情况下运行一个函数.我正在使用JavaScript/jQuery进行此操作.

我知道我可以通过使用以下方式获取删除或退格键

$(this).keyup(function(event) {
        event.keyCode
Run Code Online (Sandbox Code Playgroud)

但是,我不知道如何判断删除或退格命令是否删除了空格?

非常感谢任何建议.

javascript jquery keycode backspace

6
推荐指数
1
解决办法
1549
查看次数

将keycode的字符串表示形式转换为Qt :: Key(或任何int)并返回

我想将表示键盘上的键的字符串转换为像Qt :: Key(或其他任何东西)的键码枚举.转换示例如下:

  • "Ctrl"Qt::Key_Control
  • "Up"Qt::Key_Up
  • "a"Qt::Key_A
  • "5"Qt::Key_5

如您所见,上面不仅包括字母数字键,还包括修饰符和特殊键.我没有连接到Qt的键码枚举,但似乎Qt拥有在这个分析功能QKeySequencefromString静态函数(见本直接链接):

QKeySequence fromString(const QString & str, SequenceFormat format);
Run Code Online (Sandbox Code Playgroud)

您可能就像我需要这种转换一样.好吧,我有一个由GhostMouse生成的数据文件.这是我输入内容的日志.这是我输入的一个例子" It ":

{SPACE down}
{Delay 0.08}
{SPACE up}
{Delay 2.25}
{SHIFT down}
{Delay 0.11}
{i down}
{Delay 0.02}
{SHIFT up}
{Delay 0.03}
{i up}
{Delay 0.05}
{t down}
{Delay 0.08}
{t up}
{Delay 0.05}
{SPACE down}
{Delay 0.12}
{SPACE up}
Run Code Online (Sandbox Code Playgroud)

所以我需要一种方法将字符串"SPACE"和表示此数据文件中的键的所有其他字符串转换为唯一的int.

c++ qt keycode type-conversion string-parsing

6
推荐指数
1
解决办法
7376
查看次数

keyCode问题 - 无法阻止输入%字符

在我的HTML页面中有一个输入文本字段.我只想输入键盘上的数字键和左/右箭头.我尝试了以下JavaScript,但遇到了一个问题.

<input onkeypress="return allowNumberOnly(event)" />

function allowNumberOnly(event) {
    event = event || window.event;
    var charCode = (event.which) ? event.which : event.keyCode;

    //keyCode 48-57 represent the number 0-9
    //keyCode 37,39 represent the Left and Right arrow
    //keyCode 46 represent the Delete key
    //keyCode 8 represent the Backspace key

    return charCode == 37 || charCode == 39 || charCode == 46 || charCode == 8
              || (charCode >= 48 && charCode <= 57);
}
Run Code Online (Sandbox Code Playgroud)

测试完这段代码后,我发现左箭头和%特殊字符的keyCode都是37的问题.所以我不能阻止用户输入%字符,同时允许左箭头.我不知道为什么会这样.我一直认为keyCode对于键盘上的每个键都应该是唯一的.我想过使用onkeyup而不是onkeypress.但是onkeyup会允许用户先输入无效字符,然后从输入文本中删除.这种行为不是我想要的.任何建议将不胜感激.

我调试了FireFox中的代码,发现了以下区别.

1.如果输入%,event.which == 37和event.keyCode == 0
2.如果输入左箭头,则event.which …

javascript keycode

6
推荐指数
1
解决办法
3917
查看次数

Java将keycode转换为字符串或char

我想将keyevent键码值转换为字符串或char值.任何人都会这样做.

例如,当我按下'SPACE'时,'让我们说'有一个键码20,我想将该值转换为char或字符串.有没有标准的方法,或者我必须为键盘上的每个键写一堆'if'语句?

java string keycode keyevent

6
推荐指数
2
解决办法
2万
查看次数

为什么jQuery的event.which在Firefox和Chrome中给出了不同的结果?

看看这个现场演示(来自jQuery的网站).

点击-(DASH)在Firefox说event.which173,一边做同样的在Chrome中产生189.

这个jQuery页面event.which应该针对跨浏览器的一致性进行规范化.但是,看起来这不是真的.

为什么这种不一致?

jquery keycode which

6
推荐指数
1
解决办法
2692
查看次数

如何在iOS模拟器中单击主页按钮?支持

  1. 我想通过自动化点击iOS模拟器中的主页按钮.

  2. 我只是想知道是否可以使用IOS keycode事件单击主页按钮.

keycode ios ios-ui-automation appium-ios

6
推荐指数
3
解决办法
8692
查看次数

按键被弃用,如何获取用户输入的字符?

keypress不推荐使用javascript事件:https :
//developer.mozilla.org/en-US/docs/Web/API/Document/keypress_event

有些人建议完全依赖keydown事件,例如:
Keydown是我们唯一需要的键盘事件
https://www.mutuallyhuman.com/blog/2018/03/27/keydown-is-the-only-keyboard-event-我们需要/

问题是keydownkeypress不是同义词。至关重要的是,它们在许多/大多数情况下不会返回相同的字符。Keydown表示按下了键盘上的哪个键,而keypress表示用户实际键入的字符。

在英语中,区分大小写很重要:

letter = String.fromCharCode(event.which); 
Run Code Online (Sandbox Code Playgroud)

当按下键盘上的“a”键时,字母是“a”加keypress,但它是“A”加keydown

JCK 语言的情况变得更加复杂,因为keypress接收正确的国际键盘布局字符,而不是keydown将所有内容转换为单字节字符。

现在在 IME 组合过程中会触发 keydown 和 keyup 事件:https :
//www.fxsitecompat.com/en-CA/docs/2018/keydown-and-keyup-events-are-now-fired-during-ime-composition/

那么,随着keypress被弃用,当我们关心用户打算输入的字符时,我们应该使用什么,考虑大小写、非 ASCII 字符和多字节字符?

相关问题和参考:

keyup 事件总是返回大写字母 => 答案推荐使用keypress.

String.fromCharCode 不适用于 keydown 事件 => 答案建议使用keypress.

keypress 和 keydown 上的 String.fromCharCode 返回错误的字符 => 答案指出keypresskeydown事件不可互换。

替换已弃用的 `keypress` DOM …

javascript keycode keypress keydown

6
推荐指数
0
解决办法
2048
查看次数