我有一个使用工具提示的Bootstrap 4应用程序。我想一一切换工具提示,并仅在单击时显示它们。我可以使用:
<input type="text" id="name" class="form-control" autocomplete="off"
data-toggle="tooltip" data-placement="bottom" title="Write name here.">
我正在使用以下javascript分别显示工具提示,这些javascript是在单击按钮时触发的:
$('#name').tooltip("show");
然后我使用以下脚本隐藏/处理它:
$('#name').tooltip("dispose");
我使用dispose的原因是,除非按下按钮,否则我不希望工具提示可见。
问题在于,在输入字段上悬停鼠标时,浏览器(在我的情况下为Firefox Developer Edition)以自己的样式显示工具提示,因为工具提示文本位于title
属性中。
引导程序中是否存在一种方法来代替将文本显示在另一个data-tooltiptitle
属性中,例如:
<input type="text" id="name" class="form-control" autocomplete="off"
data-toggle="tooltip" data-placement="bottom" data-tooltiptitle="Write name here.">
然后告诉工具提示使用一些jQuery为文本使用data-tooltiptitle
属性。
感谢您的帮助。
答案 0 :(得分:1)
您可以使用title
选项并将其设置为功能。悬停时,此函数将与悬停元素的实例一起调用。然后,您可以使用getAttribute
获取自定义属性。
$(document).ready(function() {
$('[data-toggle="tooltip"]').tooltip({
title: function() {
return 'No Hooray!!';
}
});
$('#link').tooltip({
title: function() {
return this.getAttribute('custom-title');
}
});
});
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.14.7/umd/popper.min.js"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"></script>
<a href="#" data-toggle="tooltip" custom-title="Hooray!">Hover over me</a>
<input type="text" id="link" custom-title="Hooray!">