javascript - 如何预测 DOM keydown 是否会导致字符输入

标签 javascript dom keydown keyevent

给定浏览器中的 keydown 事件,我如何预测该按键事件是否会导致字符输入?例如,点击向左箭头不会输入字符,但点击 a 键会输入 A(除非 ctrlalt 按下)。

我不需要知道将输入什么字符,只需要知道按键事件是否会导致输入。

我的目标是 Chrome。如果您的解决方案适用于 IME,则可获得奖励积分。

注意:我询问的是 keydown 事件,而不是 keypressoninput 等下游事件。

最佳答案

有一个 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/

相关文章:

javascript - 我在非常简单的网站上的按钮无法登录控制台

javascript - Pyramid ,Javascript : I get HTML numbers instead of quotes

javascript - 从元素背景中获取图像元素作为 DOM 资源

javascript - 访问 View 源而不是准备好的 DOM

javascript - 使用 JavaScript 的键盘快捷键 Alt+a 和 Alt+r

c# - 向上、向下、向左和向右箭头键不触发 KeyDown 事件

javascript - 如何在不使用 HTML5 Canvas 的情况下将 base64 dataUri 转换为 Uint8ClampedArray?

javascript - requirejs 中的 Handlebars 加载不成功

javascript - 111 是一个有效的 HTML id 属性,还是 document.querySelector() 和 document.querySelectorAll() 正确抛出语法错误?

winforms - 如何在自定义容器控件中触发 KeyDown 事件?