【发布时间】:2012-12-23 08:04:53
【问题描述】:
我已经认识到,添加了addEventListener 的事件处理程序不受
$.trigger。这个问题的特殊原因是,我有几个自己创建的 html 元素,它们在不使用外部库(仅纯 js)的情况下实现了一些逻辑。
现在在我的主项目中,我想使用这些控件,并且还有像 jQuery 这样的外部库。
例如,现在我想用$(element).trigger("change") 触发更改事件(记住...事件是用element.addEventListener("event", function) 添加的)。
结果:什么都没发生
只有当我使用这样的代码时才会触发该事件:
event = document.createEvent("HTMLEvents");
event.initEvent("change", true, true);
event.eventName = 'change';
element.dispatchEvent(event);
另一方面...使用 jQuery 添加的事件处理程序,也由自定义创建的事件触发。
现在有个神奇的问题:为什么??
你可以在下面的 jsfiddle 中找到一个小例子。 http://jsfiddle.net/UYyXv/3/
【问题讨论】:
标签: javascript jquery web event-handling