Проблема прослушивателя событий jQuery keypress () - PullRequest
2 голосов
/ 21 августа 2010

Я пытаюсь выполнить функцию каждый раз, когда поле изменяется. Просто для начала я использую простой textarea и div:

<div id="text"></div>
<textarea id="stuff"></textarea>

<script type="text/javascript">
    $("#stuff").keypress(function () {
        $("#text").text($("#stuff").val());
    });
</script>

Это работает, но это всегда один символ позади. Если я наберу «Hello» в текстовой области, div просто скажет «Ад».

Что я делаю не так?

Ответы [ 3 ]

4 голосов
/ 21 августа 2010

Попробуйте .keyUp (), который может это исправить.

1 голос
/ 21 августа 2010

Событие нажатия клавиши запускается до того, как текстовое поле обновляет свое значение на основе произошедшего нажатия клавиши, иначе обработчик не сможет отменить событие.

См. Здесь: http://jsfiddle.net/zDMbJ/, который произвольно отменяет событие, если нажатая клавиша была 'A'.

0 голосов
/ 21 августа 2010

Попробуйте это:

<script type="text/javascript">
    $("#stuff").keyup(function () {
        $("#text").html($(this).val());
    });
</script>

http://jsbin.com/ibido3/edit

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...