keydown on body?

前端 未结 5 1186
礼貌的吻别
礼貌的吻别 2020-12-20 22:53

I want to get alerted whenever I press a key.

I\'ve tried:

$(\'body\').live(\'keyup\', function() {
     alert(\'testing\');
});

Bu

5条回答
  •  旧时难觅i
    2020-12-20 23:25

    Try using $("html") or $("*") instead of $("body"). In order for the keyUp event on body to fire, the body node or one of its children must be focused. You can accomplish this in your example by adding a text input and focusing the mouse to that input. What you really want is to capture any key press, so $("html") should work.

    Edit: I think your example might work, but in any case, to run the logic conditionally you might try this:

    if ($(document.body).is(".focusOnKeypress")) {
       $("html").live(...);
    }
    

    Or, I think this will also work:

    $("body:not(.noFocusOnKeypress)").parent("html").live(...);
    

提交回复
热议问题