событие onkeyup для флажка - PullRequest
       19

событие onkeyup для флажка

0 голосов
/ 01 апреля 2012

У меня здесь простая ситуация.давайте сначала столкнемся с 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>

, а вот javascript =>

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 Ответ

1 голос
/ 01 апреля 2012

Используйте 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;
};

JSFiddle demo .

...