Javascript: 从按键中获取什么字符和位置

Javascript: Get what character and where from key press

我正在尝试获取从按键到 HTML5 中的输入字段的确切输入更改(什么字符和位置),但我不知道该怎么做 "nicely".

到目前为止我的发现:

事件oninput(event)太高级了,基本上是说:"something"有变化。我不知道具体在哪里和什么。对于一个大字符串来说,原始值和当前值的比较听起来很沉重。 事件 onkeypress(event) 级别太低,它不关心 event.which 进入输入字段的位置。

有没有办法同时获取用户输入的字符和确切位置?

这是一个广泛的问题,但无论如何我都会尽力回答。您可以收听 onkeydown 事件并知道按下了哪个键。

window.onkeydown = function(event) {
      alert(String.fromCharCode(event.keyCode) + " was pressed");
   }
};

之后就可以得到按键被按下的位置。

var cursorPosition = $('#myTextarea').prop("selectionStart");

您想如何处理这些基本信息由您决定!您可以在此基础上构建更智能的代码。祝你好运!