查看当前附加的事件侦听器列表

see the list of event listeners currently attached

我想查看已添加的事件侦听器列表。例如,我使用代码 cy.on('pan zoom resize', update); 并在 for 循环中添加名为 update 的函数。我这样做了很多次。我还调用 cy.off('pan zoom resize', update); 来删除事件侦听器,但我想确定一下。

我唯一能想到的就是使用 console.log 但这种方法可能没有帮助。

我还认为在某些地方人们忘记删除事件侦听器并且总是添加。重复太多可能会导致问题。

私有 cytoscape 对象中有一个名为 listeners 的数据字段。你可以看到,如果你:

  • console.log() cy对象,
  • 导航至 _private
  • 然后打开emitter对象
  • 最后去 listeners

这是一个数组,列出了所有默认和用户定义的事件侦听器以及一些元数据,例如侦听器的事件、类型和范围。

您只需调用

即可在您的代码中访问它
cy.emitter().listeners

现在的问题是,为什么您首先需要这些信息?通常,如果在使用 cy.on('eventXY', ...) 之前调用 cy.off('eventXY', ...) 应该没问题。你确定你需要这个来让你的应用程序工作吗?也许会详细说明核心问题(为什么您首先需要这些信息)。

谢谢,祝你有美好的一天!