我想在博客上添加一个快捷按钮。某些按钮的各自功能由以下代码定义:
<input type="text" placeholder="abcd test"/>
上面的代码效果很好。但是有一点问题。如果我们在输入字段中输入文本,则此代码将发生干扰。我们可以只在输入字段外运行代码吗?
例如:
"abcd test"
如果我们输入文字s, t, and c
,它会多次显示警告。这是因为有按钮{{1}}。
如何修复此代码?
答案 0 :(得分:2)
防止这种情况的一种简单方法是检查输入或文本区域是否聚焦:
$(document).keyup(function(cfunc) {
if ($("textarea, input").is(":focus")) { return; }
if (cfunc.keyCode == 83) {
alert("S button");
}
if (cfunc.keyCode == 84) {
alert("T button");
}
if (cfunc.keyCode == 67) {
alert("C button");
}
});
&#13;
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type="text" />
<br />
<textarea>hey</textarea>
&#13;