Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
javascript如何检测键盘输入_Javascript_Jquery_Keyboard - Fatal编程技术网

javascript如何检测键盘输入

javascript如何检测键盘输入,javascript,jquery,keyboard,Javascript,Jquery,Keyboard,当关注某个输入时, 用户按“ctrl+e”等组合键, 我想在输入中显示“ctrl+e” 下次用户按下另一个组合键时, 它将清除输入并显示新的输入 我怎么做这个? 我在寻找一些javascript插件, 但它们最适合检测某些输入 像这样: 非常感谢。另一种方法(无需插件)只需使用传入的.ctrlKey属性即可。它指示在事件发生时是否按下了Ctrl键,如下所示: $(document).keypress("c",function(e) { if(e.ctrlKey)

当关注某个输入时, 用户按“ctrl+e”等组合键, 我想在输入中显示“ctrl+e”

下次用户按下另一个组合键时, 它将清除输入并显示新的输入

我怎么做这个? 我在寻找一些javascript插件, 但它们最适合检测某些输入

像这样:

非常感谢。

另一种方法(无需插件)只需使用传入的.ctrlKey属性即可。它指示在事件发生时是否按下了Ctrl键,如下所示:

$(document).keypress("c",function(e) {
  if(e.ctrlKey)
    alert("Ctrl+C was pressed!!");
});
更新
并非所有浏览器都允许捕捉cntrl按键。这对其他人来说是可行的

$( document ).keypress(function(e) {
    var ch = String.fromCharCode(e.charCode);
    if(e.ctrlKey){
      console.log('cntrl+'+ch+' was pressed');
    }else{
      console.log(ch+' was pressed');
    }
});

我不知道用户将在输入中按下什么,如果我使用这种方式,我必须为所有可能的输入编写许多函数?你需要听onkeypress或onkeydown。看见
$(document).on('keypress','input',function(e){
    if ( e.ctrlKey && ( String.fromCharCode(e.which) === 'c' || String.fromCharCode(e.which) === 'C' ) ) {
        console.log( "You pressed CTRL + C" );
    }
});
$( document ).keypress(function(e) {
    var ch = String.fromCharCode(e.charCode);
    if(e.ctrlKey){
      console.log('cntrl+'+ch+' was pressed');
    }else{
      console.log(ch+' was pressed');
    }
});