在jQuery中检测input的值变化

每当特定input框的值发生变化时,我想执行一个函数。 它几乎$('input').keyup(function) ,但是当把文本粘贴到框中时没有任何反应。 $input.change(function)只会在input模糊时触发,所以当文本框发生改变时,我怎么会立即知道?

只是remenber'上'是推荐的'绑定'function,所以总是尝试使用这样的事件监听器:

 $("#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()); }); 

更多信息

  • jsFiddle示范
  • jQuery.bind()

试试这个..学分https://stackoverflow.com/users/1169519/teemu

在这里回答我的问题.. https://stackoverflow.com/questions/24651811/jquery-keyup-doesnt-work-with-keycode-filtering?noredirect=1#comment38213480_24651811

这个解决scheme帮助我在我的项目上取得进展。

 $("#your_textbox").on("input propertychange",function(){ // Do your thing here. }); 

注意:propertychange对于较低版本的IE。

你也可以使用文本框事件 –

 <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!'); } }) 

使用这个: https : //github.com/gilamran/JQuery-Plugin-AnyChange

它处理所有的方式来改变input,包括内容菜单(使用鼠标)