我在一个有很多domConstuct.destroy()和domConstuct.place()的页面上使用dijit / tooltips.因此,每次从DOM中删除一些节点时,我都想删除附加到这些节点的工具提示.目前,工具提示小部件的数量在我的页面上不断增长.
有没有办法在删除相应的DOM节点时自动删除窗口小部件,或检查现有的工具提示窗口小部件的连接DOM节点是否仍然存在?
解决方法:
您可以将一个Tooltip小部件一次附加到多个节点,这可能是您的解决方案,因为您不必再“管理”您的工具提示了.只为所有工具提示创建了一个工具提示窗口小部件,因此您不必再销毁它.
实现此目的的最佳方法是使用reference guide中描述的selector属性.
new Tooltip({
connectId: "myTable",
selector: "tr",
getContent: function(matchednode){
return matchednode.getAttribute("tooltipText");
}
});
如果它们没有公共connectId和/或选择器,那么通过使用addTarget()
函数将目标添加到同一工具提示实例,您仍然可以使用单个工具提示.
要删除目标,您还可以使用removeTarget()接受DOM节点(因此您只需传递要删除的DOM节点).
如果这些解决方案都无法帮助您,我想知道如何实例化工具提示,有多种方法可以做到这一点.例如,通过使用connectId或使用show()函数创建临时工具提示.