Search code examples
jqueryinternet-explorer-7jquery-events

Why are there no raptors in IE?


The other day, SmashingMagazine gave the world a wonderful gift. Unfortunately IE (at least IE7) to my shock and amazement, has a problem with it. Does anyone know why the code below would not fire properly in IE7?

It listens for keypresses and fires a function if it can match the konami code. I'm not super knowledgeable on JS events, so any direction would be appreciated.

var kkeys = [], konami = "38,38,40,40,37,39,37,39,66,65";
            $(window).bind("keydown.raptorz", function(e){
                kkeys.push( e.keyCode );
                if ( kkeys.toString().indexOf( konami ) >= 0 ) {
                    init();
                    $(window).unbind('keydown.raptorz');
                }
            }, true);

EDIT: Can anyone else test this in IE7 to confirm?


Solution

  • jQuery supports e.which for the keyCode just in case e.keyCode doesn't work. So try change e.keyCode to e.which.

    But i think it is the true as the third argument in the bind. Take that away and try again.

    Here is my copy in JS fiddle of a IE compliant version: Link

    UPDATED: wow, the bind for keydown on $(window) wasn't working for IE and $(document.body) wasn't working for FF, so I did $(document) and it works for both....

    The link above now has a version that works for both FF and IE at least.