Обнаружение изменения значения ввода[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
он обрабатывает все способы изменения ввода, включая меню содержимого (с помощью мыши)