我有一个“文本区域”。我想制作一个计算器,但在开始之前我需要确保一切正常。
如果我按“1”键,它就会起作用。如果我按“/”键,它将打开“快速搜索”。 当我在 Google Chrome 中时,无法使用“+ 和 -”,我该怎么办?
function doc_keyUp(e) {
if (e.altKey && e.keyCode == 13 || e.keyCode == 49) {
document.getElementById("area").value += "1";
}
if (e.altKey && e.keyCode == 13 || e.keyCode == 50) {
document.getElementById("area").value += "2";
}
if (e.altKey && e.keyCode == 13 || e.keyCode == 51) {
document.getElementById("area").value += "3";
}
if (e.altKey && e.keyCode == 13 || e.keyCode == 52) {
document.getElementById("area").value += "4";
}
if (e.altKey && e.keyCode == 13 || e.keyCode == 53) {
document.getElementById("area").value += "5";
}
if (e.altKey && e.keyCode == 13 || e.keyCode == 54) {
document.getElementById("area").value += "6";
}
if (e.altKey && e.keyCode == 13 || e.keyCode == 55) {
document.getElementById("area").value += "7";
}
if (e.altKey && e.keyCode == 13 || e.keyCode == 56) {
document.getElementById("area").value += "8";
}
if (e.altKey && e.keyCode == 13 || e.keyCode == 57) {
document.getElementById("area").value += "9";
}
if (e.altKey && e.keyCode == 13 || e.keyCode == 48) {
document.getElementById("area").value += "0";
}
if (e.altKey && e.keyCode == 13 || e.keyCode == 61) {
document.getElementById("area").value += "+";
}
if (e.altKey && e.keyCode == 13 || e.keyCode == 191) {
document.getElementById("area").value += "/";
}
if (e.altKey && e.keyCode == 13 || e.keyCode == 173) {
document.getElementById("area").value += "-";
$('#area').val(textVal.substring(0, texVal.length = 1));
}
}
document.addEventListener('keyup', doc_keyUp, false);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<textarea id="area" onKeyPress="return validateKey(event)"></textarea>
最佳答案
对于“+”和“-”,请尝试使用键码 187 和 189。 event.preventDefault(); - 应阻止打开“快速搜索”。
<!DOCTYPE html>
<html>
<body>
<textarea id="area"></textarea>
<script>
function doc_keyUp(e) {
if (e.altKey && e.keyCode == 13 || e.keyCode == 49) {
document.getElementById("area").value += "1";
}
if (e.altKey && e.keyCode == 13 || e.keyCode == 50) {
document.getElementById("area").value += "2";
}
if (e.altKey && e.keyCode == 13 || e.keyCode == 51) {
document.getElementById("area").value += "3";
}
if (e.altKey && e.keyCode == 13 || e.keyCode == 52) {
document.getElementById("area").value += "4";
}
if (e.altKey && e.keyCode == 13 || e.keyCode == 53) {
document.getElementById("area").value += "5";
}
if (e.altKey && e.keyCode == 13 || e.keyCode == 54) {
document.getElementById("area").value += "6";
}
if (e.altKey && e.keyCode == 13 || e.keyCode == 55) {
document.getElementById("area").value += "7";
}
if (e.altKey && e.keyCode == 13 || e.keyCode == 56) {
document.getElementById("area").value += "8";
}
if (e.altKey && e.keyCode == 13 || e.keyCode == 57) {
document.getElementById("area").value += "9";
}
if (e.altKey && e.keyCode == 13 || e.keyCode == 48) {
document.getElementById("area").value += "0";
}
if (e.altKey && e.keyCode == 13 || e.keyCode == 187) {
document.getElementById("area").value += "+";
}
if (e.altKey && e.keyCode == 13 || e.keyCode == 191) {
document.getElementById("area").value += "/";
}
if (e.altKey && e.keyCode == 13 || e.keyCode == 189) {
document.getElementById("area").value += "-";
}
e.preventDefault();
}
document.addEventListener('keyup', doc_keyUp, false);
</script>
</body>
</html>
关于javascript - 禁用键盘快捷键,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59624937/