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は関数ではありません
そのサンプルページ にいくつかのサンプルコードがありますが、これは実際には役に立ちません。
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は関数ではありません
どうやって?どうして?小さなコードペン: 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>