Bootstrap 工具提示不隐藏在 <a> 标签点击
Bootstrap tooltip don't hide on <a> tag click
我将触发器用作悬停,但是当我单击具有此功能的 link 时,工具提示不会消失,它会永远干扰屏幕
工具提示是用这段代码实例化的
$('[data-toggle="tooltip"]').tooltip({
container: 'body',
trigger: 'hover'
});
在标签中一切正常,在某些情况下也可以正常工作,我不知道为什么会发生这种情况,有人可以给我点亮吗?
编辑:我也尝试过使用此代码通过点击事件隐藏工具提示
$(document).ready(function(){
$('[data-toggle="tooltip"]').click(function () {
$('[data-toggle="tooltip"]').tooltip("hide");
});
});
但是不行
编辑*:图片效果(文字为葡萄牙语)
编辑**:HTML代码
<ul style="clear: both;" class="pager wizard">
<li class="button-previous previous"><a title="Voltar" data-toggle="tooltip"><i class="fa fa-arrow-left"></i></a></li>
<li class="voltar"><a title="Voltar" data-toggle="tooltip"><i class="fa fa-arrow-left"></i></a></li>
<li class="finalizar"><a>Finalizar<i class="fa fa-check" style="padding-left:5px;"></i></a></li>
<li class="next"><a class="competencia-stripe" data-toggle="tooltip" title="Continuar"><i class="fa fa-arrow-right" ></i></a></li>
</ul>
我试图在页面加载后立即隐藏所有工具提示并且它起作用了
$([data-toggle="tooltip"]).on('load', function(){
$('[data-toggle="tooltip"]').tooltip("hide");
});
但我认为这不是最好的解决方案,我寻求更好的解决方案,我想到的另一个解决方案是这个
window.addEventListener("click", function (event) {
$('.tooltip.fade.top.in').tooltip("hide");
}
<a>
标签定义了一个hyperlink,用来link从一页到另一页。
所以它不适合像这样的一页操作。但您可以通过 .focusout()
失去对元素的关注来解决此问题
$(document).ready(function(){
$('[data-toggle="tooltip"]').click(function(){
$(this).focusout();
});
});
这是因为没有设置触发器。触发器的默认值为 'hover focus',因此工具提示在单击按钮后保持可见,直到单击另一个按钮,因为该按钮已获得焦点。
因此,您只需将触发器定义为 'hover' 即可。在您链接到的同一示例下方,单击按钮后没有保留工具提示:
$('[data-toggle="tooltip"]').tooltip({
trigger : 'hover'
})
文档示例 fiddle -> http://jsfiddle.net/vdzvvg6o/
此代码用于标记单击以隐藏悬停,您从下面的代码中删除单击事件以悬停不隐藏。
Try This Code...! It's Worked.
$('[data-toggle="tooltip"]').tooltip({
trigger : 'hover'
})
$('.btn-secondary').click(function(){
$('[data-toggle="tooltip"]').tooltip('hide');
});
.tooltiphide {
margin-top: 50px;
margin-top: 50px;
}
<!DOCTYPE html>
<html>
<head>
<title>Boostrap Tooltip</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
</head>
<body>
<div class="tooltiphide">
<a href="#" class="btn btn-secondary" data-toggle="tooltip" data-placement="top" title="Tooltip on top">
Tooltip on top
</a>
<a href="#" class="btn btn-secondary" data-toggle="tooltip" data-placement="right" title="Tooltip on right">
Tooltip on right
</a>
<a href="#" class="btn btn-secondary" data-toggle="tooltip" data-placement="bottom" title="Tooltip on bottom">
Tooltip on bottom
</a>
<a href="#" class="btn btn-secondary" data-toggle="tooltip" data-placement="left" title="Tooltip on left">
Tooltip on left
</a>
</div>
</body>
</html>
我将触发器用作悬停,但是当我单击具有此功能的 link 时,工具提示不会消失,它会永远干扰屏幕
工具提示是用这段代码实例化的
$('[data-toggle="tooltip"]').tooltip({
container: 'body',
trigger: 'hover'
});
在标签中一切正常,在某些情况下也可以正常工作,我不知道为什么会发生这种情况,有人可以给我点亮吗?
编辑:我也尝试过使用此代码通过点击事件隐藏工具提示
$(document).ready(function(){
$('[data-toggle="tooltip"]').click(function () {
$('[data-toggle="tooltip"]').tooltip("hide");
});
});
但是不行
编辑*:图片效果(文字为葡萄牙语)
编辑**:HTML代码
<ul style="clear: both;" class="pager wizard">
<li class="button-previous previous"><a title="Voltar" data-toggle="tooltip"><i class="fa fa-arrow-left"></i></a></li>
<li class="voltar"><a title="Voltar" data-toggle="tooltip"><i class="fa fa-arrow-left"></i></a></li>
<li class="finalizar"><a>Finalizar<i class="fa fa-check" style="padding-left:5px;"></i></a></li>
<li class="next"><a class="competencia-stripe" data-toggle="tooltip" title="Continuar"><i class="fa fa-arrow-right" ></i></a></li>
</ul>
我试图在页面加载后立即隐藏所有工具提示并且它起作用了
$([data-toggle="tooltip"]).on('load', function(){
$('[data-toggle="tooltip"]').tooltip("hide");
});
但我认为这不是最好的解决方案,我寻求更好的解决方案,我想到的另一个解决方案是这个
window.addEventListener("click", function (event) {
$('.tooltip.fade.top.in').tooltip("hide");
}
<a>
标签定义了一个hyperlink,用来link从一页到另一页。
所以它不适合像这样的一页操作。但您可以通过 .focusout()
$(document).ready(function(){
$('[data-toggle="tooltip"]').click(function(){
$(this).focusout();
});
});
这是因为没有设置触发器。触发器的默认值为 'hover focus',因此工具提示在单击按钮后保持可见,直到单击另一个按钮,因为该按钮已获得焦点。
因此,您只需将触发器定义为 'hover' 即可。在您链接到的同一示例下方,单击按钮后没有保留工具提示:
$('[data-toggle="tooltip"]').tooltip({
trigger : 'hover'
})
文档示例 fiddle -> http://jsfiddle.net/vdzvvg6o/
此代码用于标记单击以隐藏悬停,您从下面的代码中删除单击事件以悬停不隐藏。
Try This Code...! It's Worked.
$('[data-toggle="tooltip"]').tooltip({
trigger : 'hover'
})
$('.btn-secondary').click(function(){
$('[data-toggle="tooltip"]').tooltip('hide');
});
.tooltiphide {
margin-top: 50px;
margin-top: 50px;
}
<!DOCTYPE html>
<html>
<head>
<title>Boostrap Tooltip</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
</head>
<body>
<div class="tooltiphide">
<a href="#" class="btn btn-secondary" data-toggle="tooltip" data-placement="top" title="Tooltip on top">
Tooltip on top
</a>
<a href="#" class="btn btn-secondary" data-toggle="tooltip" data-placement="right" title="Tooltip on right">
Tooltip on right
</a>
<a href="#" class="btn btn-secondary" data-toggle="tooltip" data-placement="bottom" title="Tooltip on bottom">
Tooltip on bottom
</a>
<a href="#" class="btn btn-secondary" data-toggle="tooltip" data-placement="left" title="Tooltip on left">
Tooltip on left
</a>
</div>
</body>
</html>