Ale*_*nko 4 html javascript jquery twitter-bootstrap
当用户点击元素并且条件为false时,我需要显示bootstrap工具提示.我为此编写了代码:
<div data-toggle="tooltip" title="You must to log in!" class="stars">425</div>
Run Code Online (Sandbox Code Playgroud)
和Javascript:
$(".statistics .stars").click( function(){
if (! user.isLogin){
$(this).tooltip("show");
setTimeout(function(){
$(this).tooltip( 'hide' );
}, 2000);
}
});
Run Code Online (Sandbox Code Playgroud)
当我没有点击时,我可以看到悬停时的默认工具提示(我不需要它),当我点击时,工具提示在2秒后不会隐藏.如何解决这个问题?
Alm*_*mis 12
首先,您需要将工具提示设置为手动,现在它不会在悬停时弹出
$('div').tooltip({trigger: 'manual'});
Run Code Online (Sandbox Code Playgroud)
之后,您需要在setTimeout中使用之前保存div元素,因为在setTimeout this之外和setTimeout之this内是不同的.
$('div').click(function(){
var tt = $(this);
if (! user.isLogin){
tt.tooltip("show");
setTimeout(function(){
tt.tooltip( 'hide' );
}, 2000);
}
});
Run Code Online (Sandbox Code Playgroud)
这是更新的jsfiddle