我想在每次特定输入框的值改变时执行一个函数。它几乎适用于$('input').keyup(function),但当将文本粘贴到框中时不会发生任何事情,例如。$input.change(函数)只在输入模糊时触发,所以我如何立即知道文本框改变了值?
当前回答
不要忘记切割或选择事件!
公认的答案几乎是完美的,但它忘记了剪切和选择事件。
当用户剪切文本时触发cut (CTRL + X或通过右键单击)
当用户选择浏览器建议的选项时触发Select
你也应该添加它们,比如:
$("#myTextBox").on("change paste keyup cut select", function() {
//Do your function
});
其他回答
描述
你可以使用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());
});
不要忘记切割或选择事件!
公认的答案几乎是完美的,但它忘记了剪切和选择事件。
当用户剪切文本时触发cut (CTRL + X或通过右键单击)
当用户选择浏览器建议的选项时触发Select
你也应该添加它们,比如:
$("#myTextBox").on("change paste keyup cut select", function() {
//Do your function
});
试试这个. .致谢至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。
试试这个:
基本上,只考虑每个事件:
Html:
<input id = "textbox" type = "text">
Jquery:
$("#textbox").keyup(function() {
alert($(this).val());
});
$("#textbox").change(function() {
alert($(this).val());
});
推荐文章
- 在JavaScript中根据键值查找和删除数组中的对象
- 防止在ASP中缓存。NET MVC中使用属性的特定操作
- jQuery: keyPress退格键不火?
- XMLHttpRequest Origin null不允许Access-Control-Allow-Origin for file:/// to file:///(无服务器)
- 重置setTimeout
- jQuery有不聚焦的方法吗?
- jQuery -替换字符串中某个字符的所有实例
- Ng-repeat结束事件
- 模糊vs聚焦-有什么真正的区别吗?
- 如何用jQuery / JavaScript解析JSON数据?
- jQuery在请求体中发布有效的json
- jQuery中的live()转换为on()
- jQuery等价于JavaScript的addEventListener方法
- jQuery需要避免的陷阱
- 用jQuery切换DIV背景图像