我有以下代码:http://jsfiddle.net/juqc24ux/
<input type="text" placeholder="Enter your number here..." id="resultTextBox">
$('#resultTextBox').keypress(function() {
alert($('#resultTextBox').val());
}) // end keypress
我不知道我要怎么做。我想在按下按钮后获取文本框的值。但是,这不会发生。
按“ 1”后,将弹出一个空警报,然后将“ 1”输入键盘。然后,当我按“ 2”按钮后,弹出带有“ 1”的警报。
为什么会发生这种情况?从某种意义上说,如何解决该问题:按“ 1”后,它进入文本框,然后显示在警报中?我很确定这与执行代码的优先级有关,只是我不确定如何解决此问题。
更新:你们中有些人指出“ keyup”有效。但是为什么它能正常工作,而按键却不能工作呢?
最佳答案
当用户首次按下键盘上的键时,keypress事件将发送到元素。
当用户释放键盘上的键时,keyup事件将发送到元素。
使用keyup
instaed。像下面。
$('#resultTextBox').keyup(function() {
alert($(this).val());
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" placeholder="Enter your number here..." id="resultTextBox">