【发布时间】:2018-05-08 23:14:25
【问题描述】:
我正在使用一个触发 jQuery 事件的第 3 方库,并且我正在使用另一个侦听 DOM 事件的第 3 方库。
我需要连接这两个!我正在考虑做这样的事情:
$(el).on('change', function (e) {
if (e.originalEvent) return; // already a DOM event
el.dispatchEvent(e.makeDOMEvent());
});
显然 jQuery 没有 makeDOMEvent() 函数……但是有没有等价的东西?
【问题讨论】:
-
在页面上添加两个脚本否?
-
为什么除了 jQuery 之外还需要一个单独的 API 来处理 DOM 事件?
-
我正在使用使用 DOM 事件的第三方库,仅此而已。这不是需要它的问题,而是我必须处理的问题。
-
不,如果您仔细观察,如果我在
originalEvent中找到一个 DOM 事件,我会立即返回并跳过尝试分派该事件。我的 jQuery 库正在使用trigger()来调度事件。 -
为什么不到处使用原生 DOM 事件呢?您使用
trigger()意味着您正在使用 jQuery 创建自定义事件。只需创建自定义 DOM 事件并在任何地方使用 DOM 事件。 jQuery 的on()方法仍然会捕获它们。
标签: javascript jquery events jquery-events