2012-02-26 66 views
1

代码:的Jquery ::按键时,并专注于一个隐藏的DIV

$(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的第一个字母翻译丢失。所以'你好'在搜索框中成为'你好'。

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

帮助:

寻找任何方式来解决这个代码,以便它可以作为解释,或者为我应该用什么样的代码,如果当前的代码将无法正常工作指引正确的方向。

预先感谢您。

回答

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/

+0

感谢亚历克斯。这是完美的。是否有任何解决方法粘贴功能? – Rob 2012-02-26 20:37:49