<input type="text" id="myinput" name="myinput" value="" />
我如何使用jquery来检测输入字段的“onchange”事件。我尝试了一切,但似乎没有任何东西可以解雇它。
$("#myinput").bind("onchange",alert("test"));
$("#myinput").change(alert("test"));
我正在使用jquery 2.03.Its“onchange”也就是说,一旦用户完成输入然后点火事件。每个字母改变后都没有火,因为我从服务器获取json,如果它在哪里调用它将导致巨大的负荷每个字母都改变了。
保罗说这是解决方案我猜...很多答案 0 :(得分:3)
使用.on()
方法,创建函数处理程序并在内部执行操作。
jQuery(function( $ ){ // DOM is now ready
$("#myinput").on("input", function(){ // or use "change" if you need
// DO SOMETHING
});
});
另一种方式:
function inputChangeStuff(){
// DO SOMETHING
}
jQuery(function( $ ){ // DOM is now ready
$("#myinput").on("input", inputChangeStuff);
});
答案 1 :(得分:2)
如果您希望它在每个按键上触发,那么您就错了。当焦点超出元素时,它将自动触发。
仅适用于radio-button
,checkbox
等元素。
出于特定目的,定义jquery事件input
,如下所示:
$("input").on('input', function(){alert(1)});
的 N.B。这仅适用于即时更改检测的文本输入元素。最重要的是,它会检测任何类型的更改,例如通过keyboard
或mouse
<强> Fiddle 强>
答案 2 :(得分:1)
通过使用keyup,你也可以跟踪它:
<script>
$(document).ready(function(){
$("#myinput").keydown(function(){
$("#myinput").css("background-color","yellow");
});
$("#myinput").keyup(function(){
$("#myinput").css("background-color","pink");
});
});
</script>