Reputation: 16266
I'm using this plugin http://iamceege.github.io/tooltipster/.
It is possible know if a HTML already have the tooltipster initialized?
I wanna know because sometimes i need to change the text of the tooltip, and for do that, i need to destroy the tooltipster, change the attribute title of the HTML object, and initialize again. Like this:
$(this).tooltipster('destroy').attr("title", data.fields[i].value).tooltipster();
Upvotes: 6
Views: 5926
Reputation: 12810
You can check that it needs to be instantiated or simply enabled:
if (!$(id).hasClass("tooltipstered")) {
$(id).tooltipster({
position: 'top-left',
contentAsHTML: 'true',
theme: '.tooltipster-default',
animation: 'grow'
});
} else {
$(id).tooltipster('enable');
}
Make sure that you checked it is instantiated before disabling it:
if ($(id).hasClass("tooltipstered")) {
$(id).tooltipster('disable');
}
Upvotes: 0
Reputation: 61
Accepted solution does not work on SVG elements with tooltipster v4.1.6. This is how I solved it:
if ($.tooltipster.instances($(node)).length == 0) {
//it is NOT tooltipstered
}
else {
//it is tooltipstered
}
Upvotes: 6
Reputation: 1248
Use .hasClass to check if it has the tooltipstered class
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
}
Upvotes: 0
Reputation: 167240
You can use the API:
Check if the element already has tooltipster:
$(...).hasClass("tooltipstered");
$(...).tooltipster('content', myNewContent);
Upvotes: 11