当用户单击元素且条件为 false 时,我需要显示引导工具提示。我为此编写了代码:
<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'});
之后,您需要先保存 div 元素,然后再在 setTimeout 中使用它,因为this
在 setTimeout 之外和this
setTimeout 里面是不同的。
$('div').click(function(){
var tt = $(this);
if (! user.isLogin){
tt.tooltip("show");
setTimeout(function(){
tt.tooltip( 'hide' );
}, 2000);
}
});
这是更新的jsfiddle http://jsfiddle.net/shail/vstlu/2/
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)