JS改变input的value值不触发onchange事件解决方案【已解决】

当给一个input赋值时,由于onchange事件对input框不起作用。

失败:

大家首先会想到使用  oninput事件,然而oninput是需要用户手动输入,先获取焦点改变了值后失去焦点才触发,所以没卵用。

大多数论坛上多是说 onpropertychange 替代 change可以解决,然而兼容性不怎么样

 成功:

最后换个思路,在js给input赋值的时候就给一个  

$("#inpstart").trigger("input"); 

然后再监听它的input事件 

$("#inpstart").bind("input propertychange",function () {
                    alert("123");  //用于测试
                });

  当然,可以在赋值的时候做判断,前后值不一样才trigger。

原文链接:https://blog.csdn.net/yuwq123/article/details/70655199

原文地址:https://www.cnblogs.com/timetellu/p/12006869.html