Jquery:Keypress并专注于隐藏的DIV

时间:2012-02-26 19:52:46

标签: jquery html focus hidden keypress

代码:

$(document).ready(function(){
$(".div").hide();
$(document).on('keypress paste', function() {
    $('form').focus();
    $(".div").show("fast");
});
});

Thanks to adeneo for the cleaner code.

使用说明:

div元素包含隐藏的搜索表单。按下某个键或在页面上使用粘贴(ctrl + v)功能时,会出现一个搜索框,其中包含数据。

问题:

第一个按键有效,但用作取消隐藏div的按键的第一个字母在翻译中丢失。所以'你好'在搜索框中成为'ello'。

第二个也可以,只要你按两次ctrl + v。如上所述,它使用第一个实例来调用div(我假设?)。

帮助

寻找任何方法来修复此代码,使其按照说明工作,或指向正确的方向,如果当前代码不起作用,我应该使用什么代码。

1 个答案:

答案 0 :(得分:0)

这应该适用于按键问题。

$(document).ready(function(){
$(".div").hide();                     
$(document).keypress(function (e) {
    if($('.div').is(':hidden')){
        $(".div").show("fast");
        $("#query").val($("#query").val()+String.fromCharCode(e.charCode));
        document.forms['form'].elements['query'].focus();
    }
});

$(document).bind('paste', function(e){
    console.log(e);
    document.forms['form'].elements['query'].focus();
    $(".div").show("fast");

});
});

http://jsfiddle.net/Jkcj6/2/