我正在使用 tooltipster 来构建一些标注。我有一些点击,一些悬停。

JS:

var instances = $.tooltipster.instances();

$('.mgu-click').tooltipster({
  functionBefore: function(instance, helper) {
    $.each(instances, function(i, instance) {
      instance.close();
    });
  },
  contentCloning: true,
  trigger: 'click',
  'maxWidth': 280,
  'minHeight': 280,
  animation: 'grow',
  interactive: true,
  arrow: false,
  distance: -10,
  contentAsHTML: true,
  theme: 'tooltipster-shadow'
});
$('.mgu-hover').tooltipster({
  functionBefore: function(instance, helper) {
    $.each(instances, function(i, instance) {
      instance.close();
    });
  },
  contentCloning: true,
  trigger: (browser.hasTouchEvents()) ? 'click' : 'hover',
  'maxWidth': 280,
  'minHeight': 280,
  animation: 'grow',
  interactive: true,
  arrow: false,
  distance: -10,
  contentAsHTML: true,
  theme: 'tooltipster-shadow'
});

如果您单击或移动到 tooltipster-btn,则所有其他应在选定的打开之前关闭。 functionBefore 与触发器一起工作正常:单击。但是如果我用触发器悬停调用一个,所有其他的都不会关闭。

感谢帮助

最佳答案

看起来您需要在 $.tooltipster.instances() 函数中调用 functionBefore 方法以获取对最新实例的引用:

functionBefore: function(instance, helper){
  $.each($.tooltipster.instances(), function(i, instance){
    instance.close();
  });
}

关于javascript - Tooltipster 在打开一个新的之前关闭所有,单击/悬停组合,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41984127/

10-11 06:33