qTip2隐藏 - 组合非聚焦,非活动和固定

时间:2014-11-03 08:52:37

标签: javascript jquery qtip2

我使用qTip2作为工具提示。我希望这个工具提示隐藏行为:
- 当我点击标题上的关闭按钮(button: true)时,toopltip隐藏了 - 当我点击页面上的其他位置(event: 'unfocus')时,隐藏工具提示 - 工具提示会在我与其进行3秒钟(inactive: 3000)交互时隐藏,但仅当我的鼠标光标不在工具提示上时(fixed: true

按下关闭按钮时隐藏是正常的:

content: {
    title: {
        button: true
    }
}

无焦点时隐藏也可以:

hide: { 
    event: 'unfocus'
}

当我不与之互动时隐藏仍然没有问题:

hide: { 
    event: 'unfocus',
    inactive: 3000
}

现在,我可以通过单击页面上的其他位置或关闭按钮,或者不将鼠标移动到工具提示上3秒钟来关闭工具提示。但是当我的鼠标在工具提示上并且它没有移动3秒时,工具提示也会关闭 - 这是不可取的。

为了在鼠标移到工具提示时保持可见,我可以使用:

hide: { 
    fixed: true,
    delay: 3000
}

现在当鼠标未在工具提示上持续3秒时它会关闭。但不是当我点击页面上的其他地方。因此,让我们结合unfocusfixed

hide: { 
    event: 'unfocus',
    fixed: true,
    delay: 3000
}

现在它会在我点击页面上的其他位置时关闭,但在离开工具提示后3秒钟后不会关闭。因此,让我们尝试添加inactive

hide: { 
    event: 'unfocus',
    inactive: 3000,
    fixed: true,
    delay: 3000
}

现在,当我点击页面上的其他位置时,也会在离开工具提示后3秒钟后关闭,但是当我在工具提示上停留3秒钟后,它也会关闭。

当我点击页面上的其他位置并在离开工具提示后3秒后关闭工具提示,但是当我还在其上时,我该怎么办?

1 个答案:

答案 0 :(得分:0)

我有类似的要求和xr280xr提及,我看到的唯一解决方案是自己实现“无焦点”部分。所以你最终得到了你的配置:

echo

然后实现非聚焦行为:

$el.qtip({
  content: {
    title: {
      button: true
    }
  },
  hide: {
    fixed: true,
    delay: 3000
  }
})

小提琴:http://jsfiddle.net/pvanb/n04qL8jg/