首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Javascript调度事件

Javascript调度事件
EN

Stack Overflow用户
提问于 2019-11-02 05:05:05
回答 1查看 48关注 0票数 0

我使用的是一个Javascript插件,这个插件在select上发送一个click事件。我的问题是,当我试图用jQuery委托事件捕捉这个事件时,它不起作用。使用普通的jQuery侦听器工作就可以了。

有没有办法用jQuery委托事件来捕获分派Javascript事件?

EN

回答 1

Stack Overflow用户

发布于 2019-11-03 09:53:44

您需要通过将Event's bubbles属性设置为true来使其冒泡。

但请注意,如果您不需要原生DOM-Event,您也可以只使用jQuery's .trigger()方法,它会产生气泡。

代码语言:javascript
复制
$('#parent').on('my-event', '#target', (evt) =>
  console.log( evt.type, 'fired' )
);

console.log('non bubbling');
const nonBubbling = new Event('my-event');
$('#target')[0].dispatchEvent( nonBubbling );

console.log('bubbling');
const bubbling = new Event('my-event', { bubbles: true } );
$('#target')[0].dispatchEvent( bubbling );

console.log('$.trigger');
$('#target').trigger('my-event')
代码语言:javascript
复制
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="parent">
  <span id="target"></span>
</div>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58665887

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档