<input type="text" id="myinput" name="myinput" value="" />
如何使用 jQuery 检测输入字段的"onchange"事件。我尝试了一切,但似乎没有什么可以激发它。
$("#myinput").bind("onchange",alert("test"));
$("#myinput").change(alert("test"));
im使用jquery 2.03.它是"onchange",也就是一旦用户完成输入然后触发事件。每个字母更改后不会触发,因为我从服务器获取 json,如果调用每个字母更改的位置,则会导致巨大的负载。
正如保罗所说,我想这就是解决方案。非常感谢
http://jsfiddle.net/kerc6/5/
使用 .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);
});
如果你希望它在每次按键时触发,那么你错了。当焦点不在元素时,它将自动触发。
它只对radio-button
、checkbox
等元素立即发生。
出于您的特定目的,定义 jquery 事件input
如下所示:
$("input").on('input', function(){alert(1)});
注意:这仅适用于用于即时更改检测的文本输入元素。最重要的是,它可以检测任何类型的变化,即通过keyboard
或mouse
小提琴
通过使用向下键,您还可以跟踪它:
<script>
$(document).ready(function(){
$("#myinput").keydown(function(){
$("#myinput").css("background-color","yellow");
});
$("#myinput").keyup(function(){
$("#myinput").css("background-color","pink");
});
});
</script>