使用JQuery检测对<输入类型=“text”>的所有更改(立即)
2022-08-29 23:22:38
有许多方法可以更改 的值,包括:<input type="text">
- 按键
- 复制/粘贴
- 用 JavaScript 修改
- 由浏览器或工具栏自动完成
我希望我的JavaScript函数在任何时候更改时都被调用(使用当前输入值)。我希望它能立即被调用,而不仅仅是在输入失去焦点时。
我正在寻找最干净,最健壮的方法在所有浏览器中执行此操作(最好使用jQuery)。
有许多方法可以更改 的值,包括:<input type="text">
我希望我的JavaScript函数在任何时候更改时都被调用(使用当前输入值)。我希望它能立即被调用,而不仅仅是在输入失去焦点时。
我正在寻找最干净,最健壮的方法在所有浏览器中执行此操作(最好使用jQuery)。
此 jQuery 代码用于捕获对任何元素的即时更改,并且应该适用于所有浏览器:.bind()
$('.myElements').each(function() {
var elem = $(this);
// Save current value of element
elem.data('oldVal', elem.val());
// Look for changes in the value
elem.bind("propertychange change click keyup input paste", function(event){
// If value has changed...
if (elem.data('oldVal') != elem.val()) {
// Updated stored value
elem.data('oldVal', elem.val());
// Do action
....
}
});
});
但是,请注意,在 jQuery 版本 3.0 中已弃用。任何使用jQuery版本1.7或更高版本的人都应该改用。.bind()
.on()