Есть ли способ реализовать событие смены текста для обнаружения изменения текста в текстовом поле ввода HTML.
Можно имитировать это с помощью ключевых событий (нажатие клавиши и т.д.), однако это действительно не очень сложно и сложно, есть лучший способ?
Html ввод текста onchange event
Ответ 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 (по крайней мере) это не вызывается, пока какой-либо пользователь не подтвердит их изменение, либо щелкнув форму, либо нажав кнопку ввода, либо другой.