How to make bootstrap tooltip to remain visible ti

2019-02-01 05:00发布

I have a link which I am going to use as notification, when a user has some new notification I am going to notify the user by showing a tooltip(twitter bootstrap tooltip). What I want to achieve is, that tooltip should remain visible till the user clicks the link. once the user clicks link, the tooltip should destroy. this is what i have till now, http://jsfiddle.net/testtracker/QsYPv/

HTML

<p><a href="#" rel="tooltip" data-original-title="you have 2 notifications">Notification</a>.</p>​

JavaScript

$('p a').tooltip({placement: 'bottom'}).tooltip('show');​

whats happening there is, tooltip stays visible till you hover it, and takes its default behavior(show on hover) once you hover it.

I hope I have given proper info, and cleared what I want to do.

2条回答
女痞
2楼-- · 2019-02-01 05:43

You can add a variable to trigger off the mouseleave event to re-show the tooltip, and then as you said in your comment, just destroy the tooltip when clicked, so it doesn't show when you mouseover again:

var clickedNotify = false;
$('p a').tooltip({placement: 'bottom'}).tooltip('show');
$('p a').mouseleave(function() { if (!clickedNotify) { $('p a').tooltip({placement: 'bottom'}).tooltip('show'); } });
$('p a').click(function() { clickedNotify = true; $(this).tooltip('destroy'); });

This way, the tooltip is always shown, even after a mouseleave, until the link is clicked. After the link is clicked, the tooltip is destroyed, and still won't generate javascript errors on the page on mouseleave.

查看更多
爱情/是我丢掉的垃圾
3楼-- · 2019-02-01 05:51

Here is the solution http://jsfiddle.net/testtracker/QsYPv/8/

Added the option "trigger"

$('p a').tooltip({placement: 'bottom',trigger: 'manual'}).tooltip('show');

then, with this line

$('p a').on('click',function(){$(this).tooltip('destroy');});

destroy tooltip on click.

查看更多
登录 后发表回答