- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在创建一个自定义文本字段类,其中我有一个自定义行为,具体取决于用户是否在其上键入数字键。
!event.getCode().isDigitKey()
始终返回 true,即使我输入数字也是如此。我试图检查 KeyCode 是否也是一个字母,但它仍然返回 false。这里似乎有什么问题?
在对照任何其他 KeyCode 检查事件的 KeyCode 时,即使它们应该相等,我总是得到 false。
public class ScoreField extends TextField implements Customizable {
public ScoreField() {
super();
customize();
}
@Override
public void customize() {
this.setOnKeyTyped(new EventHandler<KeyEvent>() {
int curChar = 0;
@Override
public void handle(KeyEvent event) {
event.consume();
KeyCode keyTyped = event.getCode();
char charTyped = event.getCharacter().charAt(0);
System.out.println(charTyped);
// Do nothing if not a digit
if (!event.getCode().isDigitKey()) {
System.out.println("NOT A DIGIT KEY");
if (keyTyped == KeyCode.BACK_SPACE) {
System.out.println("RESETTING");
resetText();
return;
}
return;
}
if (getText().length() >= 5) {
if (curChar == 2) {
curChar = 3;
}
if (curChar == 5) {
curChar = 0;
}
StringBuilder builder = new StringBuilder(getText());
builder.setCharAt(curChar, charTyped);
setText(builder.toString());
curChar++;
return;
}
if (getText().length() == 2) {
setText(getText() + ":");
}
setText(getText() + charTyped);
}
});
}
private void resetText() {
setText("");
}
}
最佳答案
正如 James_D 所说:
For key typed events, the code is always KeyCode.UNDEFINED
所以我按照他的建议做了,而不是检查 KeyCode 是否是数字,而是使用 Character.isDigit(char)
检查 event.getCharacter()[0]
> 在第一个 if 语句中,它非常适合我的情况。
P.S:我尝试将 TextFormatter 与 StringConverter 一起使用,但无法让它工作。
关于JavaFX 检查事件的 KeyCode 是否为数字键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48128298/
所以我遇到了一些类型不匹配的奇怪情况。总体想法是我正在创建一个游戏,玩家可以在其中定义自己的移动键绑定(bind)、按钮等。 我从一个标准的键事件监听器开始,然后将其馈送到键处理程序中 import
我已经在 SO 上检查了其他问题,但是他们没有回答我的问题。我只想捕获某些 keyCode 并将其替换为另一个。我正在处理字符,而不是空格,我不需要松散焦点等。 下面是我的代码。但是您可以用您的键码替
var keycode = window.event.keycode; game.keyDown(keycode); 此代码在 Chrome、IE、Safari 上运行良好,但当我在 Firefox
var key_code = 65; 结果应该是 character = "Esc"; 我想转换键盘上的所有按键。我的演示在这里: window.onload = function () { var
我目前正在学习 Java,并正在使用 Java FX 进行事件驱动编程。该程序制作一个圆圈,并通过几种不同的方法(按钮、鼠标按钮、向上和向下箭头)增加其大小。 按钮和鼠标单击工作正常,但向上和向下箭头
谁能告诉我如何在检查两个键码{shiftkey + e.keyCode = 37或38或39或40}的组合后在keyup上触发jQuery事件? 我想做一些像下面这样的事情:让我们有一个 p 标签,其
我制作了一个 onkeydown 函数,它水平运行 li 元素 block ,它运行完美,但我需要当第一个和最后一个 li block 处于焦点时,左右键应该被禁用。 有人能建议一个正确的方法吗?提前
我怀疑这是由于我对 keyCode 信息如何传递缺乏了解,但我不知道如何进行这项工作... 我需要从 keydown 事件中获取键码。我可以轻松地完成以下操作: document.getElement
在我的项目中,我尝试从发送 writeInt(e.getKeyCode()) 的另一台计算机接收 dataInputStream,即 readInt() 到这台计算机,但是当我收到 keyCode 时
KeyEvent.getKeyCode()可以返回多少个code? KeyEvent.getKeyCode()返回的代码范围是多少? javadoc for KeyEvent 上列出了 key 代码吗
首先,看我的例子:http://jsfiddle.net/Davood/gkeAM/ 我想在点击链接时获取 keyCode 。 我想发现当点击链接时,是否按下了 ctrl 键? 提前致谢 最佳答案 $
我需要能够读取一个字符并获取与其语言和键盘布局相关的键。 我知道如何看待文化背景和语言。但是我怎样才能用英文输入像'S'这样的字母并知道它在键盘上的键是什么?或者对于更难的问题,我怎样才能知道字母 '
无论键盘和操作系统的语言和文化如何,/(正斜杠)符号的 javascript 键码是什么?在英语键盘中,正斜杠位于与数字键分开的键中,其键码为 191。但是在西类牙语键盘中,该字符与数字 7 位于同一
我在 JavaScript 方面仍处于新手水平。我发现了一个困扰我的错误。 这就是 keyCode 似乎无法在移动设备(chrome)上工作的原因。我刚刚注意到移动设备不支持 keyCode。 我猜我
我需要在文本框中包含星号作为允许的条目。 无论键盘布局和语言如何,如何在 KeyDown 事件下测试此键? 忽略数字键盘,使用葡萄牙语 QWERTY 布局可以通过 Keys.Shift | 测试此键
虽然我知道由于 e.keyCode 与 e.charCode 而捕获键不是微不足道的,但我认为 jQuery 几乎能够规范化大部分那些不一致。 然而 answering this question我发
我以为这会在 Stack Overflow 上的某个地方得到解答,但我找不到。 如果我正在监听按键事件,我应该使用 .keyCode 还是 .which 来确定是否按下了 Enter 键? 我一直在做
$('body').keypress(function(event){ if(event.keyCode == 46){console.log('Delete Key Pressed')};
我有一个自动完成文本字段的ajax请求。结果被附加到div中。现在我需要做的是通过向上和向下箭头浏览结果。但是我没有从 keydown jquery 函数中获取向上和向下的键码。任何帮助都会受到赞赏。
我想知道如何更改KeyCode条件中的功能?我试图做某事,但无法进入 keyCode。 我的代码: $("body").keydown(function (e) { // left arrow
我是一名优秀的程序员,十分优秀!