【发布时间】:2022-01-01 22:19:55
【问题描述】:
我有一个函数,我想在输入值更改时触发一个事件。
var input = me.lengthSelector; //'lengthSelector': '.fv--table-length input'
// Create a new 'change' event
let event = new Event('change');
// Dispatch it.
$(input).dispatchEvent(event);
因此,每当触发“change”事件时,都会执行一个在其他地方定义的函数 onChange() 并正确运行。但为什么它说 dispathcEvent() 不是控制台中的函数? 我尝试使用 trigger() 但说的是同样的事情:(
【问题讨论】:
-
因为 jQuery 没有
dispatchEvent()方法。它是a native element method。 jQuery 有.trigger()。见:How to trigger event in JavaScript? | How do I programmatically trigger an “input” event without jQuery? | Dispatch event with data -
感谢它现在可以使用
$(input).trigger("change");。我错误地使用 trigger(event) 而不是 trigger() 中的字符串
标签: jquery function events dom-events