Обнаружение изменения значения ввода[type=text] в jQuery

Я хочу выполнять функцию каждый раз, когда изменяется значение определенного поля ввода. Это почти работает с $('input').keyup(function), но ничего не происходит при вставке текста в поле, например. $input.change(function) срабатывает только тогда, когда вход размыт, так как я сразу узнаю, когда текстовое поле изменило значение?

8 ответов


просто запомните, что " on "рекомендуется над функцией "bind", поэтому всегда старайтесь использовать прослушиватель событий следующим образом:

$("#myTextBox").on("change paste keyup", function() {
   alert($(this).val()); 
});

описание

вы можете сделать это с помощью jQuery это .bind() метод. Проверьте jsFiddle.

пример

HTML-код

<input id="myTextBox" type="text"/>

jQuery

$("#myTextBox").bind("change paste keyup", function() {
   alert($(this).val()); 
});

Дополнительная Информация


попробуйте это.. кредитыhttps://stackoverflow.com/users/1169519/teemu

для ответа на мой вопрос.. https://stackoverflow.com/questions/24651811/jquery-keyup-doesnt-work-with-keycode-filtering?noredirect=1#comment38213480_24651811

Это решение помогло мне продвинуться в моем проекте.

$("#your_textbox").on("input propertychange",function(){

   // Do your thing here.
});

Примечание: propertychange для более низких версий IE.


вы также можете использовать события textbox -

<input id="txt1" type="text" onchange="SetDefault($(this).val());" onkeyup="this.onchange();" onpaste="this.onchange();" oninput="this.onchange();">

function SetDefault(Text){
  alert(Text);
}

Попробуй Такое


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

в основном, просто учитывайте каждое событие:

HTML-код:

<input id = "textbox" type = "text">

Jquery:

$("#textbox").keyup(function() { 
    alert($(this).val());  
}); 

$("#textbox").change(function() { 
alert($(this).val());  
}); 

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

$("input").bind({
            paste : function(){
                $('#eventresult').text('paste behaviour detected!');
            }
})

$("#myTextBox").on("change paste keyup select", function() {
     alert($(this).val());
});

выберите для предложения браузера


использовать этот: https://github.com/gilamran/JQuery-Plugin-AnyChange

он обрабатывает все способы изменения ввода, включая меню содержимого (с помощью мыши)