gpt4 book ai didi

javascript - 如何在 onKeyPress 期间获取输入文本框的文本?

转载 作者:IT王子 更新时间:2023-10-29 02:49:19 25 4
gpt4 key购买 nike

我试图在用户输入文本框时获取文本 (jsfiddle playground):

function edValueKeyPress() {
var edValue = document.getElementById("edValue");
var s = edValue.value;

var lblValue = document.getElementById("lblValue");
lblValue.innerText = "The text box contains: " + s;

//var s = $("#edValue").val();
//$("#lblValue").text(s);
}
<input id="edValue" type="text" onKeyPress="edValueKeyPress()"><br>
<span id="lblValue">The text box contains: </span>

代码运行没有错误,除了 input text 框的 valueonKeyPress 期间始终是该值变化之前:

enter image description here

Question: How do I get the text of a text box during onKeyPress?

奖金聊天

在 HTML DOM 中有三个与“用户正在输入”相关的事件:

  • onKeyDown
  • onKeyPress
  • onKeyUp

Windows 中,当用户按住某个键时,WM_Key 消息的顺序变得很重要,并且该键开始重复:

  • WM_KEYDOWN('a') - 用户按下了 A
  • WM_CHAR('a') - 从用户那里收到了一个a字符
  • WM_CHAR('a') - 从用户那里收到了一个a字符
  • WM_CHAR('a') - 从用户那里收到了一个a字符
  • WM_CHAR('a') - 从用户那里收到了一个a字符
  • WM_CHAR('a') - 从用户那里收到了一个a字符
  • WM_KEYUP('a') - 用户释放了 A

将导致文本控件中出现五个字符:aaaaa

重要的一点是您响应 WM_CHAR 消息,即重复的消息。否则,您会在按下某个键时错过事件。

HTML 中有些不同:

  • onKeyDown
  • onKeyPress
  • onKeyDown
  • onKeyPress
  • onKeyDown
  • onKeyPress
  • onKeyDown
  • onKeyPress
  • onKeyDown
  • onKeyPress
  • onKeyUp

Html 在每次按键重复时提供一个 KeyDownKeyPressKeyUp 事件仅在用户松开按键时触发。

外卖

  • 可以响应onKeyDownonKeyPress,但在input.value已更新
  • 我无法响应 onKeyUp,因为它不会在文本框中的文本更改时发生。

问题:如何在 onKeyPress 期间获取文本框的文本?

红利阅读

最佳答案

保持简单。同时使用 onKeyPress()onKeyUp():

<input id="edValue" type="text" onKeyPress="edValueKeyPress()" onKeyUp="edValueKeyPress()">

这会负责获取最新的字符串值(在按下键后),并在用户按住某个键时进行更新。

jsfiddle:http://jsfiddle.net/VDd6C/8/

关于javascript - 如何在 onKeyPress 期间获取输入文本框的文本?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11365686/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com