如何打印键控元素值

how to print keyup element value?

本文关键字:元素 打印 何打印      更新时间:2023-09-26

我正在使用以下 keyup 事件处理程序。

<script type="text/javascript">
  $('.someClass').on('keyup', function(e){
    console.log($(this).val());
  });
</script>

在编写 keyup 事件时,键入 "qwe"。
实际结果:"QWE"期望的结果 :
"问"
"呸"
"呸"

我在这里简化了它,但我也尝试了闭包,正确的方法是什么?

我找到了一个棘手(丑陋?)的解决方案,即使您快速输入也可以正常工作:

var prevVal = '';
$('.someClass').on('keypress', function (e) {
    prevVal += String.fromCharCode(e.which);
    console.log(prevVal);
}).on('keyup', function() { prevVal = $(this).val() });

看这里: http://jsfiddle.net/FZHZJ/1/

请注意,它不会在修饰符键控事件(即退格键、移位、箭头)上打印 - 如果您也想要,请回复,我会尝试修复它。

这是我最后使用的sulotion。
它在按键时将值推到数组,并在 Keyup 上弹出它。
(堆栈与反向一起使用。

var stackValues = new Array();
$('.someClass').on('keypress', function (e) {
   prevVal = $(this).val();
   prevVal += String.fromCharCode(e.which);
   stackValues.push(prevVal);
}).on('keyup', function() { 
   var value = (stackValues.reverse()).pop();
   stackValues.reverse();
   console.log('value:', value);
});