Подтвердить что ты не робот

Html ввод текста onchange event

Есть ли способ реализовать событие смены текста для обнаружения изменения текста в текстовом поле ввода HTML.
Можно имитировать это с помощью ключевых событий (нажатие клавиши и т.д.), однако это действительно не очень сложно и сложно, есть лучший способ?

4b9b3361

Ответ 1

Когда я делаю что-то подобное, я использую событие onKeyUp.

<script type="text/javascript">
 function bar() {
      //do stuff
 }
<input type="text" name="foo" onKeyUp="return bar()" />

но если вы не хотите использовать событие html, вы можете попробовать использовать метод jQuerys.change()

$('.target').change(function() {
   //do stuff
});

в этом примере вход должен иметь класс "target"

если у вас будет несколько текстовых полей, которые вы хотите сделать так же, когда их текст будет изменен, и вам понадобятся их данные, вы можете сделать это:

$('.target').change(function(event) {
   //do stuff with the "event" object as the object that called the method
)};

таким образом вы можете использовать один и тот же код для нескольких текстовых полей с использованием одного и того же класса без необходимости переписывать какой-либо код.

Ответ 2

onChange не срабатывает, пока вы не потеряете фокус позже. Если вы хотите быть очень строгим с мгновенными изменениями всех видов, используйте:

<input
   type       = "text" 
   onchange   = "myHandler();"
   onkeypress = "this.onchange();"
   onpaste    = "this.onchange();"
   oninput    = "this.onchange();"
/>

Ответ 3

Хорошо, если я не понимаю, вы можете просто использовать атрибут onChange:

<input type="text" onChange="return bar()">

Примечание: в FF 3 (по крайней мере) это не вызывается, пока какой-либо пользователь не подтвердит их изменение, либо щелкнув форму, либо нажав кнопку ввода, либо другой.