如何使用 Tippy.js 在 mouseenter 上显示工具提示并在单击时隐藏

gah*_*chs 6 javascript tooltip tippyjs

我正在使用Tippy.js。我想在 mouseenter 上显示工具提示,但在单击时隐藏它。

当您单击一个元素时,这会触发工具提示.tippy并保持打开状态,直到您单击离开。

tippy('.tippy', { trigger: 'click' });
Run Code Online (Sandbox Code Playgroud)

这说明,当你一个提示的mouseenter与元素.tippy和皮革当鼠标离开.tippy元素。

tippy('.tippy', { trigger: 'mouseenter' });
Run Code Online (Sandbox Code Playgroud)

我想要两者的结合。在 mouseenter 上显示工具提示,但让它保持打开状态,直到我点击离开。

我更喜欢**不听点击事件和鼠标输入事件,并在使用时手动显示和隐藏它 { trigger: 'manual' }

另外,能否请您解释一下{custom}触发选项。从文档:

{custom} 指的是您可以拥有任何事件侦听器,但它不会具有相反的“隐藏”事件。

我可以使用{custom}触发器来满足我的需求吗?如何?

非常感谢!

ato*_*iks 6

根据版本,您可以更新triggerusing 生命周期钩子:

  • v5:setProps()方法
  • v3-v4:set()方法

两者的工作方式相同。

tippy('.tippy', {
  trigger: 'mouseenter',
  onShow(instance) {
    // v5
    instance.setProps({trigger: 'click'});
    // v3-v4
    // instance.set({trigger: 'click'});
  },
  onHide(instance) {
    // v5
    instance.setProps({trigger: 'mouseenter'});
    // v3-v4
    // instance.set({trigger: 'mouseenter'});
  }
});
Run Code Online (Sandbox Code Playgroud)