开发者

Jquery Keypress is not working for my input box

开发者 https://www.devze.com 2022-12-24 15:14 出处:网络
$(\"#epFilter\").keypress(function(){ query = $(\"#epFilter\").val(); alert(query); }); In this code, whenever I type in my tex开发者_JAVA百科t box, it always alert one character less. It doesn\'t c
$("#epFilter").keypress(function(){
        query = $("#epFilter").val();
        alert(query);
});

In this code, whenever I type in my tex开发者_JAVA百科t box, it always alert one character less. It doesn't catch the last character. Why?


Use the keyup event instead.

$("#epFilter").keyup(function(){
        query = $("#epFilter").val();
        alert(query);
});


keypress event is triggered when user presses a key, but before the character is inserted. Use keyup event instead.


Slightly improving Matt's answer (using this inside event handler):

$("#epFilter").keyup(function(){
    query = $(this).val();
    alert(query);
});


I wonder if that is a "normal" behavior. Shouldn't keypress be similar to keydown+keyup (except for the codes and keys)?

I had the same problem. I have an input-text field and I want to calculate a total on keypress. However, it does not change the total until I input again another character (this means when I entered the first digit it didn't update). I used "keyup" and was "fixed", but I think it could be better if I use keypress as it doesn't fire when I press other keys (like Ctrl, Shift, arrows, etc).

According to the documentation Keypress should work as I expected but for some reason it didn't.

This is not exactly an answer (so don't vote for it). Just my contribution.

0

精彩评论

暂无评论...
验证码 换一张
取 消