我想在每次特定输入框的值改变时执行一个函数。它几乎适用于$('input').keyup(function),但当将文本粘贴到框中时不会发生任何事情,例如。$input.change(函数)只在输入模糊时触发,所以我如何立即知道文本框改变了值?


当前回答

描述

你可以使用jQuery的.bind()方法来做到这一点。查看jsFiddle。

样本

Html

<input id="myTextBox" type="text"/>

jQuery

$("#myTextBox").bind("change paste keyup", function() {
   alert($(this).val()); 
});

更多的信息

jsFiddle示范 jQuery.bind ()

其他回答

这些事件的组合对我很有效:

$("#myTextBox").on("input paste", function() {
   alert($(this).val()); 
});

试试这个:

$("input").bind({
            paste : function(){
                $('#eventresult').text('paste behaviour detected!');
            }
})

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

它处理所有改变输入的方法,包括内容菜单(使用鼠标)

$("#myTextBox").on("change paste keyup select", function() {
     alert($(this).val());
});

选择浏览器建议

试试这个. .致谢至https://stackoverflow.com/users/1169519/teemu

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

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

$("#your_textbox").on("input propertychange",function(){

   // Do your thing here.
});

注意:属性更改为低版本的IE。