输入字段"onchange"事件 jquery


<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-buttoncheckbox等元素立即发生。

出于您的特定目的,定义 jquery 事件input如下所示:

$("input").on('input', function(){alert(1)});

注意:这仅适用于用于即时更改检测的文本输入元素。最重要的是,它可以检测任何类型的变化,即通过keyboardmouse

小提琴

通过使用向下键,您还可以跟踪它:

  <script>
   $(document).ready(function(){
   $("#myinput").keydown(function(){
    $("#myinput").css("background-color","yellow");
   });
   $("#myinput").keyup(function(){
    $("#myinput").css("background-color","pink");
   });
 });
</script>

最新更新