2015-08-26 3 views
4

Я использую этот плагин http://iamceege.github.io/tooltipster/.[Tooltipster Plugin] - Знайте, если div уже есть tooltipster

Возможно, известно, что в HTML уже есть инициализированный tooltipster?

Я хочу знать, потому что иногда мне нужно изменить текст всплывающей подсказки, и для этого мне нужно уничтожить tooltipster, изменить название атрибута объекта HTML и снова инициализировать. Как это:

$(this).tooltipster('destroy').attr("title", data.fields[i].value).tooltipster(); 

ответ

7

Вы можете использовать API:

Проверьте, если элемент уже имеет tooltipster:

$(...).hasClass("tooltipstered"); 

$(...).tooltipster('content', myNewContent); 
+0

Что делать, если он был отключен? У него все еще есть класс? – Stephane

+1

@Stephane Должен быть ... Этот ответ касается плагина, и с тех пор он развивается, и прошло 2 года. Это может быть неверно. –

0

Используйте .hasClass, чтобы проверить, если он имеет tooltipstered класс

var divToCheck = null; //FIXME: update to whatever query you use to get the div you're checking 
if (divToCheck.hasClass('tooltipstered')) { 
    //TODO: update your title 
} 
+0

Пожалуйста, отредактируйте с дополнительной информацией. Только код и «попробуйте» ответы [обескуражены] (http://meta.stackexchange.com/questions/196187/is-try-this-bad-practice), поскольку они не содержат содержимого, доступного для поиска, и не объясните, почему кто-то должен «попробовать это». Мы прилагаем усилия, чтобы стать источником знаний. –

4

Принятое решение не работает с элементами SVG с tooltipster v4.1.6. Это, как я ее решил:

if ($.tooltipster.instances($(node)).length == 0) { 
    //it is NOT tooltipstered 
} 
else { 
    //it is tooltipstered 
} 
0

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

if (!$(id).hasClass("tooltipstered")) { 
    $(id).tooltipster({ 
    position: 'top-left', 
    contentAsHTML: 'true', 
    theme: '.tooltipster-default', 
    animation: 'grow' 
    }); 
} else { 
    $(id).tooltipster('enable'); 
} 

Убедитесь, что вы проверили его экземпляра, прежде чем отключить его:

if ($(id).hasClass("tooltipstered")) { 
    $(id).tooltipster('disable'); 
} 
Смежные вопросы