cytoscape.js - 查看当前附加的事件监听器列表
问题描述
我想检查添加的事件侦听器列表。例如,我使用了代码cy.on('pan zoom resize', update);
并添加了update
在 for 循环中调用的函数。我这样做很多次。我也呼吁cy.off('pan zoom resize', update);
删除事件侦听器,但我想确定一下。
我能想到的唯一想法是使用console.log
,但这种方法可能没有帮助。
我还认为在某些地方人们忘记删除事件侦听器并且总是添加。如果重复次数过多,这可能会导致问题。
解决方案
私有 cytoscape 对象中有一个数据字段,称为listeners
. 你可以看到,如果你:
console.log()
cy 对象,- 导航到
_private
, - 然后打开
emitter
对象 - 最后去
listeners
这是列出所有默认和用户定义的事件侦听器的数组,其中包含一些元数据,例如侦听器的事件、类型和范围。
您可以通过简单地调用在您的代码中访问它
cy.emitter().listeners
现在的问题是,为什么您首先需要这些信息?通常,如果您cy.off('eventXY', ...)
在使用之前调用 any应该没问题cy.on('eventXY', ...)
。你确定你的应用程序需要这个吗?也许更详细地阐述核心问题(为什么你首先需要这些信息)。
谢谢,祝你有美好的一天!
推荐阅读
- xml - 使用目标 XML 上的 XSLT 转换属性将 XML 转换为 XML
- math - “反转” x(integer) 给出三角图的 y=0
- python - 无法弄清楚为什么我收到语法错误
- r - geom_ribbon 跳过可用数据(有时)
- botframework - 在 Microsoft BOT 框架中添加两条消息之间的延迟
- batch-file - 批处理文件将包含文件的目录从一个位置复制到文件所在的当前目录
- javascript - 在 Vue.JS 中从循环 OnClick 播放特定视频
- flutter - 如何在 Flutter 的 2 个小部件之间定位 FAB?
- postgresql - pg_repack 和逻辑复制:在运行 pg_repack 时错过表中的更改是否有风险?
- react-native - React Native 中的谷歌地图