众所周知,“onchange”事件仅在输入失去焦点时才会触发。但是如果输入改变了它的值,网络应用程序通常需要立即做一些事情,而这些改变是如何发生的:通过用户的键盘、鼠标或其他脚本......当然我可以声明一个每秒触发 100 次的函数,并且检查所需元素的值并在值发生变化时执行某些操作。但它看起来很奇怪:首先它会从用户浏览器中消耗更多的能量,第二个 1/100 秒在某些情况下可能是不够的等等......最后它并不漂亮!
你有更好的想法吗?
众所周知,“onchange”事件仅在输入失去焦点时才会触发。但是如果输入改变了它的值,网络应用程序通常需要立即做一些事情,而这些改变是如何发生的:通过用户的键盘、鼠标或其他脚本......当然我可以声明一个每秒触发 100 次的函数,并且检查所需元素的值并在值发生变化时执行某些操作。但它看起来很奇怪:首先它会从用户浏览器中消耗更多的能量,第二个 1/100 秒在某些情况下可能是不够的等等......最后它并不漂亮!
你有更好的想法吗?
您可以确认多个事件
$('input').on("keyup input paste propertychange", function(event){
// do stuff
});
使用keyup
- 它会立即触发,而不是在输入失去焦点时触发:
$("#input").keyup(function() {
});
在现代浏览器上,您应该使用 oninput 事件:
$("input").on('input',function() {
//code here
});