document.onkeyup ported to jQuery

javascript, jquery

Solution

The jQuery API is different:

$(document).keyup(function (event) {
    ...
});

jQuery.keyup is a function which takes as an argument the callback. The reason behind it is to let us assign multiple keyup (or whatever) events.

$(document).keyup(function (event) {
    alert('foo');
});

$(document).keyup(function (event) {
    alert('bar');
});

There's also keyup() without an argument, which will trigger the keyup event associated with the respective element.

Problem

I'm porting some old Javascript to jQuery: ``` document.onkeyup = function (event) { if (!event) window.event; ... } ``` this code works on all major browsers. My jQuery code looks like: ``` $(document).keyup = function (event) { ... } ``` however this code is not working (the function is never triggered at least in IE7/8). Why? How to fix?

Original source