Подтвердить что ты не робот

Как сделать так, чтобы всплывающая подсказка оставалась видимой до щелчка по ссылке

У меня есть ссылка, которую я собираюсь использовать в качестве уведомления, когда у пользователя появляется какое-то новое уведомление, я собираюсь уведомить пользователя, показывая всплывающую подсказку (twitter bootstrap tooltip). Я хочу, чтобы подсказка оставалась видимой до тех пор, пока пользователь не щелкнет ссылку. как только пользователь щелкнет ссылку, всплывающая подсказка должна быть уничтожена. это то, что у меня есть до сих пор, 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');​

Что происходит там, всплывающая подсказка остается видимой до тех пор, пока вы не наводите на нее указатель мыши, и принимает поведение по умолчанию (показывать при наведении курсора) после ее наведения.

Я надеюсь, что дал надлежащую информацию и очистил то, что я хочу сделать.

4b9b3361

Ответ 1

Вот решение http://jsfiddle.net/testtracker/QsYPv/8/

Добавлена ​​опция "trigger"

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

то с этой линией

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

уничтожить подсказку при нажатии.

Ответ 2

Вы можете добавить переменную, чтобы вызвать событие mouseleave, чтобы повторно показать всплывающую подсказку, а затем, как вы сказали в своем комментарии, просто уничтожьте всплывающую подсказку при нажатии, чтобы она не отображалась при повторе мыши:

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'); });

Таким образом, подсказка всегда отображается даже после мыши, пока не будет нажата ссылка. После нажатия ссылки всплывающая подсказка будет уничтожена и не будет генерировать ошибки JavaScript на странице на mouseleave.