我想在每次特定输入框的值更改时执行函数。 几乎与$('input').keyup(function)
一起使用,但是在将文本粘贴到框中时没有任何反应。 $input.change(function)
仅在输入模糊时触发,那么只要文本框的值发生变化,我怎么能立即知道?
答案 0 :(得分:285)
请记住,建议使用'one'而不是'bind'函数,所以总是尝试使用这样的事件监听器:
$("#myTextBox").on("change paste keyup", function() {
alert($(this).val());
});
答案 1 :(得分:100)
您可以使用jQuery的.bind()
方法执行此操作。查看jsFiddle。
<强> HTML 强>
<input id="myTextBox" type="text"/>
<强>的jQuery 强>
$("#myTextBox").bind("change paste keyup", function() {
alert($(this).val());
});
答案 2 :(得分:12)
试试这个..来自https://stackoverflow.com/users/1169519/teemu
这个解决方案帮助我推进了我的项目。
$("#your_textbox").on("input propertychange",function(){
// Do your thing here.
});
注意:IE的较低版本的属性更改。
答案 3 :(得分:6)
您还可以使用文本框事件 -
<input id="txt1" type="text" onchange="SetDefault($(this).val());" onkeyup="this.onchange();" onpaste="this.onchange();" oninput="this.onchange();">
function SetDefault(Text){
alert(Text);
}
答案 4 :(得分:4)
试试这个:
基本上,只考虑每个事件:
HTML:
<input id = "textbox" type = "text">
Jquery的:
$("#textbox").keyup(function() {
alert($(this).val());
});
$("#textbox").change(function() {
alert($(this).val());
});
答案 5 :(得分:2)
试试这个:
$("input").bind({
paste : function(){
$('#eventresult').text('paste behaviour detected!');
}
})
答案 6 :(得分:2)
$("#myTextBox").on("change paste keyup select", function() {
alert($(this).val());
});
select for browser suggestion
答案 7 :(得分:1)
别忘了cut
或select
事件!
可接受的答案几乎是完美的,但是却忘记了cut
和select
事件。
cut
select
您也应该添加它们,例如:
$("#myTextBox").on("change paste keyup cut select", function() {
//Do your function
});
答案 8 :(得分:0)
使用此: https://github.com/gilamran/JQuery-Plugin-AnyChange
它处理所有更改输入的方法,包括内容菜单(使用鼠标)
答案 9 :(得分:0)
这些事件组合对我有用:
$("#myTextBox").on("input paste", function() {
alert($(this).val());
});