如何知道密钥启动事件是否已在事件处理程序中完成其工作

时间:2013-07-09 11:54:53

标签: javascript jquery javascript-events

我有一个文本框的键上事件处理程序。 在该事件处理程序中检查密钥代码46/8(后退空格/删除)。并且在按下这些键后得到文本框的结果值。

假设我的文本框有1234,我想在删除最后一个字符后获取事件处理程序中文本框的值。这意味着我需要123但是当我读取文本框的值时它仍然显示1234.如何在事件完成工作后读取文本框的值?

3 个答案:

答案 0 :(得分:1)

因为你没有张贴相关的代码..我假设(你所提到的)

  

这意味着我需要123但是当我读取文本框的值时它仍然显示1234。   ..你正在使用keydown事件...

使用keyup

 $('#inputID').keyup(function(){
     alert($(this).val());
 });

答案 1 :(得分:1)

您想要keyup事件:

  

当用户按下某个键时,会激活keydown,keypress和keyup事件。

     

<强> KEYDOWN   用户按下某个键时触发。当用户按下键时,它会重复。

     

keypress 在插入实际字符时触发,例如文本输入。当用户按下键时,它会重复。

     

<强> KEYUP   在用户释放密钥后,在执行该密钥的默认操作后触发。

Source

答案 2 :(得分:1)

我假设你有一个如下代码。

$('input').keyup(function (e) {
    if (e.keyCode == 46 || e.keyCode == 8) {
        alert($(this).val())
    }
})

按下该键后将返回值。