当用户点击元素且条件为假时,我需要显示 Bootstrap 工具提示。我为此编写了代码:
<div data-toggle="tooltip" title="You must to log in!" class="stars">425</div>
和Javascript:
$(".statistics .stars").click( function(){
if (! user.isLogin){
$(this).tooltip("show");
setTimeout(function(){
$(this).tooltip( 'hide' );
}, 2000);
}
});
当我不点击时,我可以在悬停时看到默认的工具提示(我不需要它),当我点击时,工具提示不会在 2 秒后隐藏。如何解决这些问题?
最佳答案
首先你需要将工具提示设置为手动,现在它不会在悬停时弹出
$('div').tooltip({trigger: 'manual'});
之后你需要在 setTimeout 中使用它之前保存 div 元素,因为 setTimeout 之外的 this
和 setTimeout 内部的 this
是不同的。
$('div').click(function(){
var tt = $(this);
if (! user.isLogin){
tt.tooltip("show");
setTimeout(function(){
tt.tooltip( 'hide' );
}, 2000);
}
});
这是更新的 jsfiddle
关于javascript - 使用 javascript 显示和隐藏 Bootstrap 工具提示,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37938425/