Keypress上的活动

时间:2010-08-13 19:01:53

标签: jquery onclick gallery keypress

单击放大的图像时,此功能返回缩略图视图....

$('#wrapper > img').live('click',function(){
    $this = $(this);
    $('#description').empty().hide();

    $('#thumbsWrapper').css('z-index','10')
    .stop()
    .animate({'height':'100%'},speed,function(){
        var $theWrapper = $(this);
        $('#panel').css('height','0px');
        $theWrapper.css('z-index','0');
        /* 
        remove the large image element
        and the navigation buttons
         */
        $this.remove();
        $('#prev').hide();
        $('#next').hide();
    });
});

...除了点击之外,我希望它也能在按键上关闭,或者如果可能的话只是'Esc'吗?

非常感谢

2 个答案:

答案 0 :(得分:4)

我在页面加载时将keyup事件绑定到document,这会检查是否按下了ESC。

试一试: http://jsfiddle.net/AXMGM/

$(document).keyup(function( event ) {
    if(event.which === 27) {
        // Run your code to hide the element
        //   and perhaps first check to see if it needs to be done.
    }
});

jQuery规范化event.which,使其可用于代替charCodekeyCode

来自文档 -

  

event.which规范化event.keyCode和event.charCode。建议观看event.which键盘输入键...

答案 1 :(得分:3)

如果你想绑定转义,你可以检查keypress / keydown如果键是转义,如果是,请使用它,否则不用它。

$('#wrapper > img').live('keydown keypress', function(e) {
    if (e.keyCode == 27)  {// Check if the keycode is 27, ie ESCAPE
        do your thing here
    }