jQuery 1.7.2中的Konami Code Keybinding

时间:2012-07-23 10:55:36

标签: jquery version compatibility key-bindings

我想实现raptorize-Plugin但它不适用于 jQuery 1.7.2 ,因为我认为这部分:

else if(options.enterOn == 'konami-code'){
            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);

当我使用button-version时,它有效。可能是什么问题?

2 个答案:

答案 0 :(得分:3)

http://www.zurb.com/playground/javascripts/plugins/jquery.raptorize.1.0.js第93行的.bind()使用第三个参数来防止冒泡,不确定为什么在我们在窗口上查找keydown事件时这是必要的,但是这就是打破它的原因更新的jQuery版本。删除第三个参数,它将在1.7.2中起作用。

还要确保正确设置选项,例如:

$('.myButton').raptorize({
   'enterOn' : 'konami-code'
});

答案 1 :(得分:0)

您可能需要考虑使用Mousetrap库而不是jQuery。

上面链接的页面上甚至还有一个Konami Code示例,只需一行JS代码即可完成。