Reputation: 9
I have a "textarea". I want to make a calculator but before starting I need to be sure that everything is working well.
If I press the '1' key it works. If I press the '/' key it opens 'fast search'. When I am in Google Chrome I can't use the "+ and - " what can I do?
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>
Upvotes: 0
Views: 114
Reputation: 26
For "+" and "-" try to use key codes 187 and 189. event.preventDefault(); - should prevent open 'fast search'.
<!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>
Upvotes: 1