如何知道按键事件是否已经在事件处理程序中完成了它的工作

How to know if the key up event has been already done its job or not in the event handler

本文关键字:程序 工作 事件处理 何知道 事件 是否      更新时间:2023-09-26

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

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

您想要keyup事件:

当用户按下某个键时,keydown、keypress和keyup事件就会触发。

按键按下当用户按下某个键时激发。当用户按下按键时,它会重复。

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

按键设置当用户在执行某个密钥的默认操作后释放该密钥时激发。

因为您没有发布相关代码。。我假设(根据你提到的)

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

使用键控

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

我想,您有一个如下的代码。

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

按键后将返回值。