Javascript 如何在单击按钮时显示cytoscape.js中的所有QTIP

Javascript 如何在单击按钮时显示cytoscape.js中的所有QTIP,javascript,qtip,qtip2,cytoscape.js,cytoscape,Javascript,Qtip,Qtip2,Cytoscape.js,Cytoscape,大家好,我正在尝试在单击按钮时显示cytoscape.js图中的所有QTIP。我的一些元素是隐藏的,因此在尝试显示qtip之前,我需要先检查它们是否具有“show”类。这是我的密码 cy.$('node[type = "net"]').forEach(function( ele ) { if (ele.hasClass('show')) { console.log(ele.id()); ele.qtip('toggle',

大家好,我正在尝试在单击按钮时显示cytoscape.js图中的所有QTIP。我的一些元素是隐藏的,因此在尝试显示qtip之前,我需要先检查它们是否具有“show”类。这是我的密码

 cy.$('node[type = "net"]').forEach(function( ele ) {
          if (ele.hasClass('show')) {
             console.log(ele.id());
             ele.qtip('toggle',true);
             // i have also tried ele.qtip('show');       
      }
      });
但是,我在浏览器控制台中遇到以下错误

'未捕获的TypeError:无法读取未定义的:cytoscape qtip.js:268'的属性'set'


谢谢。

如果使用API,请确保提前定义QTIP

在多个元素上切换QTIP的最简单方法是自定义事件。在show event config字符串中添加类似于
qtipshow的内容,并使用'eles.trigger('qtipshow')

您可以使用相同的方法进行隐藏

确保将QTIP配置为一次显示多个:


我不确定您使用API的方法有什么问题,因为它没有足够的上下文来说明——但无论如何,事件更容易使用。

谢谢Max,我想我找到了一个选项,可以设置为允许多个qtip同时显示“solo:false”。然而,我很难理解如何像您所描述的那样添加自定义事件。你能给我举一个你建议的定制活动的例子吗?我已经建立了一个JSFIDLE,我已经开始工作了。抱歉,我对javascript还比较陌生。嗨,Max,我想我明白你的意思了。但是,我无法使QTIP仍然显示。更新的代码在这里。你能帮我看看吗?您在对象和API调用方面犯了一些基本错误。确保使用适当的编辑器(如Atom)和调试器(如Chrome)。