Отключить всплывающую подсказку после нажатия

#jquery #tooltip

#jquery #всплывающая подсказка

Вопрос:

Я использую встроенную всплывающую подсказку Bootstrap.

У меня есть ссылка, которая показывает всплывающую подсказку при наведении на нее курсора мыши с использованием этого кода jQuery:

 jQuery(document).on('hover', '#mylink', function(event)
{
    event.preventDefault();
    jQuery('[data-toggle="tooltip"]').tooltip();
});
  

Однако всплывающая подсказка остается видимой после того, как я нажимаю на ссылку, которая открывается в новом окне.

Как я могу отключить всплывающую подсказку после события click с помощью jQuery?

Комментарии:

1. событие щелчка на каком элементе?

2. тег, идентифицируемый идентификатором #mylink

3. jQuery(document).on(‘click’, ‘#mylink’, функция (событие) { event.preventDefault(); jQuery(‘[data-toggle=»tooltip»]’).tooltip(‘dispose’); });

4. я добавляю приведенный выше код, он отключает всплывающую подсказку, но ссылка больше не открывается, как я могу сохранить открытие ссылки в новом окне?

5. вы хотите скрыть или уничтожить?

Ответ №1:

Вы можете использовать dispose метод для уничтожения всплывающей подсказки

 jQuery('[data-toggle="tooltip"]').tooltip('dispose')
  


Чтобы отключить всплывающую подсказку для временного использования disable метода позже, вы можете повторно включить использование enable метода.

 jQuery('[data-toggle="tooltip"]').tooltip('dispose');
  


Для скрытия используйте hide метод во всплывающей подсказке.

 jQuery('[data-toggle="tooltip"]').tooltip('hide'); 
  


ОБНОВЛЕНИЕ 1: Теперь объедините это с обработчиком события щелчка по этой конкретной ссылке. В дополнение к этому инициирует blur событие (поскольку оно все еще может быть сфокусировано), чтобы скрыть всплывающее окно.

 jQuery(document).on('click', '#mylink', function() { 
    jQuery('[data-toggle="tooltip"]').tooltip('hide').blur(); 
}); 
  

Или даже просто запустить событие размытия, вам подойдет, поскольку оно все еще активно из-за фокусировки.

 jQuery(document).on('click', '#mylink', function() { 
    jQuery('[data-toggle="tooltip"]').blur(); 
}); 
  

ОБНОВЛЕНИЕ 2: Или ограничить включение всплывающего окна hover только установкой параметра запуска.

 $(function () {
    $('[data-toggle="tooltip"]').tooltip({ trigger : 'hover'})
})