在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
这个解决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,包括内容菜单(使用鼠标)