我已经认识到,添加的事件处理程序addEventListener
不受
$.trigger
. 这个问题的特殊原因是,我有几个自己创建的 html 元素,它们在不使用外部库(仅纯 js)的情况下实现了一些逻辑。现在在我的主项目中,我想使用这些控件,并且还有像 jQuery 这样的外部库。例如,现在我想element.addEventListener("event", function)
用$(element).trigger("change")
.
结果:什么都没发生
当我使用这样的代码时,仅触发事件:
event = document.createEvent("HTMLEvents");
event.initEvent("change", true, true);
event.eventName = 'change';
element.dispatchEvent(event);
另一方面...事件处理程序与 jQuery 一起添加,其中也由自定义创建的事件触发。
现在神奇的问题:为什么?
您可以在以下 jsfiddle 中找到一个小示例。http://jsfiddle.net/UYyXv/3/