Javascript JQuery检测程序更改事件

Javascript JQuery检测程序更改事件,javascript,jquery,Javascript,Jquery,如果我执行jQuery(expr).change(function),那么当用户对值进行更改时,我就可以得到一个要触发的事件函数 如果以编程方式更改它,是否有可能启动它,即如果我调用jQuery(expr).val(“moo”) 或者如果一些普通的老JavaScript改变了它的值 感谢您的帮助。更改值后,您可以自己触发事件,从而调用所有“onchange”处理程序 jQuery('#element').change(); 直接在JS中更改值不会钩住jQuery可以监听的任何东西,从而触发更改

如果我执行jQuery(expr).change(function),那么当用户对值进行更改时,我就可以得到一个要触发的事件函数

如果以编程方式更改它,是否有可能启动它,即如果我调用jQuery(expr).val(“moo”)

或者如果一些普通的老JavaScript改变了它的值


感谢您的帮助。

更改值后,您可以自己触发事件,从而调用所有“onchange”处理程序

jQuery('#element').change();

直接在JS中更改值不会钩住jQuery可以监听的任何东西,从而触发更改事件。正如Sander所说,您可以自己启动事件处理程序。如果您无法控制其他代码修改这些值,而这不是一个选项,那么您就有点走运了。唯一可行的另一种选择是让观察者使用
setTimeout
观察间隔上的值,这非常混乱,可能不是一个好主意。

jQuery v1+支持处理程序的编程触发-我使用了这种方法,而不是.change()方法,因为它允许在需要时触发多个其他处理程序(例如,一些自定义处理程序)。位于:

但有时这仍然是唯一的选择。我同意这是混乱的,但它应该不会造成问题,只要你选择一个大的间隔(500毫秒在我的经验是可以的)。完美!正是我想要的。