input的实时监控

之前表单的改变一直使用的是change事件,可能使用在select上比较多,所以一直没注意过原来input和textarea不是实时触发的

随后查了下资料change事件—触发该事件必须满足两个条件:

  1. 当前对象属性改变,并且是由键盘或鼠标事件激发的(通过脚本改变对象的属性是不会触发的,当然可以通过脚本手动执行触发)
  2. 当前对象失去焦点(onblur)后才会触发

        如果我们要实时监控input和textarea的变化,可以使用keypress 、propertychange 和 input 这三个事件

其中keypress 就是只能监听键盘事件,鼠标复制粘贴操作无能为力

propertychange 只要当前对象属性发生改变就会触发。(IE专属的)

input 是标准的浏览器事件,一般应用于input、textarea,当 value 发生变化就会触发,无论是键盘输入还是鼠标粘贴的改变都能实时监听到变化

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <script src="/jquery/jquery-1.11.1.min.js">
 5     </script>
 6     <script>
 7         $(document).ready(function(){
 8             $("input").on('input',function(){
 9                 $("#txt").text($(this).val());
10             });
11         });
12     </script>
13 </head>
14 <body>
15     <input />
16     <p id="txt"></p>
17 </body>
18 </html>

原文地址:https://www.cnblogs.com/war-hzl/p/9023614.html