Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/68.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 是否基于keyCode运行keyup函数(),输入字段中除外?_Javascript_Jquery - Fatal编程技术网

Javascript 是否基于keyCode运行keyup函数(),输入字段中除外?

Javascript 是否基于keyCode运行keyup函数(),输入字段中除外?,javascript,jquery,Javascript,Jquery,我想在博客上添加一个快速按钮。某些按钮的功能由以下代码定义: <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script> <script> $(document).keyup(function(cfunc) { if (cfunc.keyCode == 83) { aler

我想在博客上添加一个快速按钮。某些按钮的功能由以下代码定义:

<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>
<script>
$(document).keyup(function(cfunc) {
    if (cfunc.keyCode == 83) {
        alert("S button");
    }
    if (cfunc.keyCode == 84) {
        alert("T button");
    }
    if (cfunc.keyCode == 67) {
        alert("C button");
    }
});
</script>

$(文档).keyup(函数(cfunc){
如果(cfunc.keyCode==83){
警报(“S按钮”);
}
如果(cfunc.keyCode==84){
警报(“T按钮”);
}
如果(cfunc.keyCode==67){
警报(“C按钮”);
}
});
上面的代码运行良好。但是有一点问题。如果我们在输入字段中输入文本,那么该代码将产生干扰。我们可以在输入字段之外运行代码吗

例如:

<input type="text" placeholder="abcd test"/>

如果我们输入文本
“abcd测试”
,它将显示几次警报。这是因为有按钮
s、t和c

如何修复此代码?

防止此问题的简单方法是检查输入或文本区域是否聚焦:

$(文档).keyup(函数(cfunc){
if($(“textarea,input”).is(“:focus”){return;}
如果(cfunc.keyCode==83){
警报(“S按钮”);
}
如果(cfunc.keyCode==84){
警报(“T按钮”);
}
如果(cfunc.keyCode==67){
警报(“C按钮”);
}
});


$(文档)。不是(':input')。键入