jquery bind keyup to body in firefox

Pradyut Bhattacharya picture Pradyut Bhattacharya · Jan 11, 2011 · Viewed 12.2k times · Source

i m binding keyup function in jquery to body which works in every browser except firefox

the code: -

 $('body').bind('keyup', function(e) {
    //alert ( e.which );
    alert('testing');

});

how do i do it for firefox. it does not responds at all

thanks

Answer

jAndy picture jAndy · Jan 11, 2011

bind the event to the document instead:

$(document).bind('keyup', function(e) {
    alert('testing');
});

You can make almost any node receive keyboard events. In "modern" browsers, you can setup a tabIndex. After that the event is focusable.

$(document.body).attr('tabIndex', 1).bind('keyup', function(e) {
    alert('testing');
});