给定浏览器中的 keydown
事件,我如何预测该按键事件是否会导致字符输入?例如,点击向左箭头不会输入字符,但点击 a 键会输入 A(除非 ctrl 或 alt 按下)。
我不需要知道将输入什么字符,只需要知道按键事件是否会导致输入。
我的目标是 Chrome。如果您的解决方案适用于 IME,则可获得奖励积分。
注意:我询问的是 keydown
事件,而不是 keypress
或 oninput
等下游事件。
最佳答案
有一个 HTML 5 事件:input
。 MDN:https://developer.mozilla.org/en-US/docs/Web/Reference/Events/input 。除此之外没有合适的解决方案。
好的,我想我有一个解决方案。我不知道它有多好,但它确实有效。看看:http://jsfiddle.net/tLPsL/
它基本上是保存输入的值onkeydown
并在onkeyup
中检查它。
$('#sattar').keydown(function() {
window.SATTAR = $(this).val();
});
$('#sattar').keyup(function() {
if(window.SATTAR !== $(this).val()) {
alert("changed");
}
});
关于javascript - 如何预测 DOM keydown 是否会导致字符输入,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17124656/