tooltip.js popper.js 用法示例

tooltip.js popper.js usage example

由于对javascript不是很精通,所以根本不了解tooltip.js文档。为什么不包括像我这样的人的例子?

我必须安装这个库才能正常工作吗?

  1. 我将 tooltip.js 添加到 webpack(通过 npm 安装)
  2. 然后我import tooltip from 'tooltip.js';
  3. 然后呢?

我尝试使用 boostrap 中的代码:

<p data-toggle="tooltip" data-placement="top" title="Tooltip on top">
  Tooltip on top
</p>
$(function () {
  $('[data-toggle="tooltip"]').tooltip()
})

但我实际上并没有使用 bootstrap 所以错误是:TypeError:

$(...).tooltip is not a function

their example page 上有一些示例代码并没有真正帮助:

new Tooltip(referenceElement, {
    placement: 'top', // or bottom, left, right, and variations
    title: "Top"
});

什么是referenceElement?是我要触发的元素的 class 吗?

我想象的是这样的:

<p title="xyz" data-toggle="tooltip">hello</p>

然后把javascript写成这样???

new Tooltip('[data-toggle="tooltip"]', {
    placement: 'top',
    trigger: 'hover'
});

那肯定不行。它 returns 错误:

TypeError: reference.addEventListener is not a function

怎么样?为什么?一点代码笔:https://codepen.io/Sepp/pen/ZowqdM

根据文档,您必须像这样调用工具提示

new Tooltip(referenceElement, {
    placement: 'top', // or bottom, left, right, and variations
    title: "Top"
});

所以,如果你想让所有元素都带有 [data-toggle="tooltip"] 调用工具提示 js,你可以这样做:

$( document ).ready(function() {
  $( '[data-toggle="tooltip"]' ).each(function() {
    new Tooltip($(this), {
      placement: 'top',
    });
  });
});

尝试使用以下代码:

document.addEventListener('DOMContentLoaded',function(){
    var trigger = document.getElementsByClassName("is-success")[0];
    var instance = new Tooltip(trigger,{
        title: trigger.getAttribute('data-tooltip'),
        trigger: "hover",
    });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://unpkg.com/popper.js"></script>
<script src="https://unpkg.com/tooltip.js"></script>
<button class="button is-success" data-tooltip="Click Here">Hover Me</button>