Профилактика новой строки текста на Enter (jQuery) - PullRequest
14 голосов
/ 14 июля 2010

у меня есть:

$('#myTextArea').keyup(function(e) {
     if(e.keyCode == 13) {
       e.preventDefault(); // Makes no difference
     $(this).parent().submit(); // Submit form it belongs to
   }
});

Как я могу предотвратить появление новой строки прямо перед отправкой формы? preventDefault() и stopPropagation не работают. Я мог бы вручную сбросить текст поля, но ...

1 Ответ

27 голосов
/ 14 июля 2010

Это происходит потому, что keyup вызывается после того, как текст был вставлен в текстовую область.

Чтобы поймать ключ перед вводом, необходимо прослушать событие keydown.

Так что просто поменяйте keyup на keydown и вам будет хорошо идти.

$('#myTextArea').keydown(function(e) {
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...