如果我执行jQuery(expr).change(function),那么我可以在用户对值进行更改时触发事件函数.
如果它以编程方式改变,即如果我调用jQuery(expr).val("moo"),是否有可能触发它.
或者如果一些普通的旧JavaScript改变了它的价值?
谢谢你的帮助.
在更改了值之后,您可以自己触发事件,从而调用所有"onchange"处理程序.
jQuery('#element').change();
直接在JS中更改值不会挂钩jQuery可以监听以触发更改事件的任何内容.像Sander说的那样,你可以自己解雇事件处理程序.如果您无法控制其他代码修改这些值而且这不是一个选项,那么您就有点不走运了.可能有效的唯一其他选择是让观察者在一个间隔使用时观察值setTimeout
,这非常混乱,可能不是一个好主意.