Всплывающая подсказка Bootstrap не работает, если элемент изначально скрыт

У меня есть несколько кнопок, которые показывают подробную информацию с помощью всплывающих подсказок Bootstrap. Моя основная проблема заключается в том, что эти кнопки изначально скрыты в div (display: none;), и когда отображается div (display: block;), всплывающие подсказки не работают.

Как я могу решить эту проблему?


person Ricky    schedule 09.06.2014    source источник


Ответы (2)


Хорошо, я понял свою проблему ...

Я инициализирую всплывающую подсказку начальной загрузки в $ (document) .ready ():

$(document).ready(function ()
{
    $(".bsTool").tooltip();
});

Все в порядке, но ... поскольку я использую UpdatePanels (ASP.NET) и мой контент отображается / скрывается с помощью асинхронной обратной передачи, $ (document) .ready () не вызывается !!!

Чтобы инициализировать плагин всплывающей подсказки при каждой асинхронной обратной передаче (и обычной обратной передаче), я добавил его в функцию загрузки страницы:

function pageLoad()
{
    $(".bsTool").tooltip();
}

Функция pageLoad () вызывается ASP.NET Ajax при первой загрузке веб-страницы, а также при каждой асинхронной обратной передаче. Поэтому плагин всплывающей подсказки снова регистрируется после асинхронной обратной передачи.

Задача решена :)

person Ricky    schedule 10.06.2014

Имейте в виду, что tooltip.js Bootstrap плохо работает со скрытыми элементами. Вот примечание из документации Bootstrap (ссылка).

Не пытайтесь отображать всплывающие подсказки для скрытых элементов

Вызов $(...).tooltip('show'), когда целевой элемент - display: none;, приведет к неправильному расположению всплывающей подсказки.

person Tony    schedule 17.03.2015
comment
почему бы не сделать это? В некоторых случаях это необходимо. Например, с помощью jquery-validation-bootstrap-tooltip и выбрано - person jast; 23.01.2017