Ricardo Rocha
Ricardo Rocha

Reputation: 16266

[Tooltipster Plugin]- Know if div already have tooltipster

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

Answers (4)

Stephane
Stephane

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

Gábor Szarka
Gábor Szarka

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

CDelaney
CDelaney

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

Praveen Kumar Purushothaman
Praveen Kumar Purushothaman

Reputation: 167240

You can use the API:

Check if the element already has tooltipster:

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

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

Upvotes: 11

Related Questions