由于javascript不是很精通,我完全不了解tooltip.js文档。为什么不包括像我这样的人的例子?
我是否必须安装此库才能正常工作?
tooltip.js
添加到webpack
(通过npm安装)import tooltip from 'tooltip.js';
我尝试使用boostrap中的代码:
<p data-toggle="tooltip" data-placement="top" title="Tooltip on top">
Tooltip on top
</p>
$(function () {
$('[data-toggle="tooltip"]').tooltip()
})
但我实际上并没有使用bootstrap,所以错误是:TypeError:
$(...)。tooltip不是函数
their example page上有一些示例代码并没有真正帮助:
new Tooltip(referenceElement, {
placement: 'top', // or bottom, left, right, and variations
title: "Top"
});
什么是referenceElement
?它是我要触发的元素的类吗?
我想象这样的事情:
<p title="xyz" data-toggle="tooltip">hello</p>
然后写一些像这样的javascript ???
new Tooltip('[data-toggle="tooltip"]', {
placement: 'top',
trigger: 'hover'
});
这当然行不通。它返回错误:
TypeError:reference.addEventListener不是函数
如何?为什么?一点点Codepen:https://codepen.io/Sepp/pen/ZowqdM
答案 0 :(得分:1)
尝试使用以下代码:
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>
答案 1 :(得分:0)
根据文档,你必须像这样调用工具提示
new Tooltip(referenceElement, {
placement: 'top', // or bottom, left, right, and variations
title: "Top"
});
所以,如果你想使用[data-toggle =“tooltip”] make all元素调用工具提示js,你可以这样做:
$( document ).ready(function() {
$( '[data-toggle="tooltip"]' ).each(function() {
new Tooltip($(this), {
placement: 'top',
});
});
});