我试图在用户输入文本时获取文本框中的文本(jsfiddle游乐场):
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>
代码运行没有错误,除了value of the input text
盒,期间onKeyPress
始终是值before改变:
Question: 如何获取文本框的文本onKeyPress
?
奖金闲聊
与此相关的事件有3个“用户正在输入”在 HTML DOM 中:
onKeyDown
onKeyPress
onKeyUp
In Windows, 的顺序WM_Key
当用户按住某个键并且该键开始重复时,消息变得很重要:
-
WM_KEYDOWN('a')
- user has pushed down the A key
-
WM_CHAR('a')
- an a
已从用户收到字符
-
WM_CHAR('a')
- an a
已从用户收到字符
-
WM_CHAR('a')
- an a
已从用户收到字符
-
WM_CHAR('a')
- an a
已从用户收到字符
-
WM_CHAR('a')
- an a
已从用户收到字符
-
WM_KEYUP('a')
- the user has released the A key
将导致文本控件中出现五个字符:aaaaa
重要的一点是你要回应WM_CHAR
消息,即重复的消息。否则,按下某个键时您会错过事件。
In HTML事情略有不同:
onKeyDown
onKeyPress
onKeyDown
onKeyPress
onKeyDown
onKeyPress
onKeyDown
onKeyPress
onKeyDown
onKeyPress
onKeyUp
Html 提供了一个KeyDown
and KeyPress
每个键重复。还有KeyUp
仅当用户释放按键时才会引发事件。
要点
- I can回应
onKeyDown
or onKeyPress
,但两者仍然在之前提出input.value
已经升级
- 我无法回应
onKeyUp
,因为它不会随着文本框中的文本更改而发生。
问题:期间如何获取文本框的文本onKeyPress
?
奖励阅读
- 使用 jQuery 获取表单值
- 获取输入文本框中的值
把事情简单化。两者都使用onKeyPress()
and onKeyUp()
:
<input id="edValue" type="text" onKeyPress="edValueKeyPress()" onKeyUp="edValueKeyPress()">
这负责获取最新更新的字符串值(在按下按键后),并且如果用户按住某个键也会更新。
jsfiddle:http://jsfiddle.net/VDd6C/8/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)