是否可以播放自定义事件?

佐马格克

我有一个类似下面的设置,其中体内的所有三个元素都订阅了某个事件(相关代码pen):

var div = document.querySelector('div');
var span = document.querySelector('span');
var button = document.querySelector('button');
    
div.addEventListener('ding', function() {
  console.log('click');
});
    
span.addEventListener('ding', function() {
  console.log('clack');
});
    
button.addEventListener('ding', function() {
  console.log('bang');
});
    
document.body.dispatchEvent(new CustomEvent('ding')); // ???
//  expected output: 'click clack bang'
<body>
  <div></div>
  <span></span>
  <button></button>
</body>  

据我所知,CustomEvent气泡会向上流动,不会滴下,这可能正是我所需要的。是否有可能调度a,CustomEvent以便所有三个处理程序都将被解雇?

安吉洛斯·查拉利斯

您将必须分别在三个元素上触发事件。但是,您可以使用addEventListener()您的document.body,以使其触发这些事件的每一个元素时document.body.dispatchEvent(new CustomEvent('ding'));被调用。

例子:

var div = document.querySelector('div');
var span = document.querySelector('span');
var button = document.querySelector('button');

div.addEventListener('ding', function() {
  console.log('click');
});

span.addEventListener('ding', function() {
  console.log('clack');
});

button.addEventListener('ding', function() {
  console.log('bang');
});

document.body.addEventListener('ding', function() {
  div.dispatchEvent(new CustomEvent('ding'));
  span.dispatchEvent(new CustomEvent('ding'));
  button.dispatchEvent(new CustomEvent('ding'));
});

document.body.dispatchEvent(new CustomEvent('ding'));
<body>
  <div></div>
  <span></span>
  <button></button>
</body>

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

是否可以从Azure Application Insights中清除具体的自定义事件?

来自分类Dev

Mac版Outlook 2016是否可以自定义日历事件/提醒的暂停时间?

来自分类Dev

是否可以自定义VideoCastControllerActivity?

来自分类Dev

是否可以自定义系统警报?

来自分类Dev

是否可以创建自定义流?

来自分类Dev

定义自定义事件

来自分类Dev

TypeScript 可以通过事件识别自定义类型吗?

来自分类Dev

Swift init(),定义自定义init是否可以覆盖?

来自分类Dev

使用Javascript是否可以在阻止默认事件的同时将自定义函数挂接到浏览器的后退按钮?

来自分类Dev

是否可以将 PRE_SET_DATA 事件中的自定义数据属性设置为表单标签本身?

来自分类Dev

使用chrome自定义标签时,是否可以添加自定义请求标头?

来自分类Dev

是否可以在其他自定义方法上调用自定义方法?

来自分类Dev

是否可以设置自定义单元格的textLabel?

来自分类Dev

是否可以创建自定义CodeLens装饰?

来自分类Dev

是否可以将自定义Java类导入Scala?

来自分类Dev

是否可以从assert方法引发自定义异常?

来自分类Dev

是否可以在<a>标签中自定义标题弹出窗口?

来自分类Dev

是否可以向HealthKit添加自定义数据?

来自分类Dev

是否可以在编译时执行自定义程序?

来自分类Dev

是否可以制作自定义的renderscript内部函数?

来自分类Dev

是否可以创建自定义html属性作为标签

来自分类Dev

是否可以指示`Gtk :: TreeView`显示自定义类型?

来自分类Dev

是否可以自定义或更改android应用卸载消息?

来自分类Dev

是否可以在Haskell中提供自定义模式分解?

来自分类Dev

是否可以自定义引导程序$ modal的样式

来自分类Dev

是否可以自定义Android Wear SpeechRecognizer UI?

来自分类Dev

是否可以在infusionsoft中创建自定义代码?

来自分类Dev

是否可以自定义Apple iOS TouchID AlertView

来自分类Dev

ORACLE SQL是否可以自定义查询的顺序结果?

Related 相关文章

  1. 1

    是否可以从Azure Application Insights中清除具体的自定义事件?

  2. 2

    Mac版Outlook 2016是否可以自定义日历事件/提醒的暂停时间?

  3. 3

    是否可以自定义VideoCastControllerActivity?

  4. 4

    是否可以自定义系统警报?

  5. 5

    是否可以创建自定义流?

  6. 6

    定义自定义事件

  7. 7

    TypeScript 可以通过事件识别自定义类型吗?

  8. 8

    Swift init(),定义自定义init是否可以覆盖?

  9. 9

    使用Javascript是否可以在阻止默认事件的同时将自定义函数挂接到浏览器的后退按钮?

  10. 10

    是否可以将 PRE_SET_DATA 事件中的自定义数据属性设置为表单标签本身?

  11. 11

    使用chrome自定义标签时,是否可以添加自定义请求标头?

  12. 12

    是否可以在其他自定义方法上调用自定义方法?

  13. 13

    是否可以设置自定义单元格的textLabel?

  14. 14

    是否可以创建自定义CodeLens装饰?

  15. 15

    是否可以将自定义Java类导入Scala?

  16. 16

    是否可以从assert方法引发自定义异常?

  17. 17

    是否可以在<a>标签中自定义标题弹出窗口?

  18. 18

    是否可以向HealthKit添加自定义数据?

  19. 19

    是否可以在编译时执行自定义程序?

  20. 20

    是否可以制作自定义的renderscript内部函数?

  21. 21

    是否可以创建自定义html属性作为标签

  22. 22

    是否可以指示`Gtk :: TreeView`显示自定义类型?

  23. 23

    是否可以自定义或更改android应用卸载消息?

  24. 24

    是否可以在Haskell中提供自定义模式分解?

  25. 25

    是否可以自定义引导程序$ modal的样式

  26. 26

    是否可以自定义Android Wear SpeechRecognizer UI?

  27. 27

    是否可以在infusionsoft中创建自定义代码?

  28. 28

    是否可以自定义Apple iOS TouchID AlertView

  29. 29

    ORACLE SQL是否可以自定义查询的顺序结果?

热门标签

归档