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')。键入