2014-10-09 49 views
1

我一直在使用从jeresig's hotkey jquery热键插件。当文档处于焦点时,快捷键可以正常工作,但焦点位于输入字段时,快捷键不起作用。我用$(document)$(document).find('input')进行绑定。但是这些都不起作用。文档keydown绑定不能用于输入字段

我已经使用这个下面的代码制作快捷方式:

$(document).ready(function(){ 
     shortcutsInit(); 
}); 

function shortcutsInit(){ 
    $(document).bind('keydown', "shift+f2", function() { 
     window.location.replace("/list"); 
     return false; 
    }); 

    $(document).bind('keydown', "f3", function() { 
     if($('#searchholder').length){ 
      $('#searchholder').focus(); 
     } 
     console.log('f3 pressed'); 
     return false; 
    }); 
} 

回答

0

尝试:

$(document).ready(function(){ 
    $(document).on("keydown", function(e){ 
     if(e.shiftKey && (e.which || e.keyCode || e.charCode) == 113){ 
       window.location.replace("/list"); 
       return false; 
     } 
     if((e.which || e.keyCode || e.charCode) == 114){ 
      if($('#searchholder').length) 
       $('#searchholder').focus(); 
      console.log('f3 pressed'); 
      return false; 
     } 
    }); 
}); 
+0

不是基于我的问题但谢谢你的回答。这是一个备用解决方案,它的工作原理。 – nexuscreator 2014-10-15 03:46:57

0

也许这些选项解决问题:

$.hotkeys.options.filterInputAcceptingElements = false; 
$.hotkeys.options.filterTextInputs = false;  
+0

在哪里设置此选项? – 2016-11-08 08:33:26

相关问题