Testing if JQuery tooltip is initialized

Sebastien picture Sebastien · Sep 16, 2013 · Viewed 10.2k times · Source

I am using a JQuery UI Tooltip along with AJAX to validate a form.

I am using one tooltip for each fields and I am changing the content of this tooltip depending on the error my AJAX return.

For my code to be complete I need to test if the tooltip is already initialize for this field (change content) if not (create the tooltip).

The problem is that I dont know any affective method of checking if the tooltip is initialize or not.

HTML:

<input type="text" id="text1"/>
<input type="text" id="text2"/>

I have tried the following but they all fail to test if the tooltip is already created or not.

JQUERY:

if($("#text1").tooltip() != null) //or $("#text1").tooltip() != 'undefined'
//does'nt work because .tooltip() always return an object.

if(typeof $("#text1").tooltip() != null)//or typeof $("#text1").tooltip() != 'undefined'
//does'nt work always return an object.

if($("#text1").tooltip().hasOwnProperty('option'))//or $("#text1").tooltip().hasOwnProperty('content')
//does'nt work it always return false.

If someone could help me find a way to check if the tooltip exist it'd be really appreciated

Thanks!

Answer

ivan.a.bovin picture ivan.a.bovin · May 21, 2014

Just check data('ui-tooltip') on your element. See example:

if($element.data('ui-tooltip')) {
    $element.tooltip('destroy');
}