Событие onkeyup для флажка
У меня здесь простая ситуация. давайте посмотрим правде в глаза HTML-код первый =>
<form name="geoKey" method="post" action="index.php">
<fieldset class="gKey">
<legend><input type="checkbox" name="checkUncheck" id="checkUncheck"></legend>
<textarea name="txt" id="txt" cols="34" rows="5"></textarea>
</fieldset>
</form>
а вот и яваскрипт =>
function keyPress(e){
var key;
var box = document.getElementById("checkUncheck");
if (window.event){
key = event.keyCode;
} else {
key = e.which;
}
if (key==192){
(box.checked) ? box.checked=false : box.checked=true;
}
}
window.onload = function(){
document.onkeyup = keyPress;
};
Итак, как вы видите, ребята, когда она нажата клавиша (номер 192) флажок проверяет, если он не проверен, и в противном случае тоже (это все работает хорошо), но здесь есть проблема => Я хочу, чтобы, если курсор сфокусирован на textarea и нажал эту клавишу (192) в textarea ничего не пишет. пожалуйста помогите, спасибо:)
1 ответ
Решение
Использование onkeydown
вместо этого и предотвратить действие браузера по умолчанию с помощью e.preventDefault
:
function keyPress(e){
var key;
var box = document.getElementById("checkUncheck");
if (window.event){
key = event.keyCode;
} else {
key = e.which;
}
if (key==192){
e.preventDefault(); // <-- prevent default action
(box.checked) ? box.checked=false : box.checked=true;
return false;
}
}
window.onload = function(){
document.onkeydown = keyPress;
};