2013-04-20 4 views
7

Ich erstelle Bootstrap-Tooltips dynamisch für Felder und möchte überprüfen, ob ein bestimmtes Feld einen Tooltip enthält, damit ich die Nachricht bearbeiten kann, anstatt einen neuen Tooltip zu erstellen.Prüfen, ob ein Bootstrap-Tooltip einem Feld zugeordnet ist?

Ich sehe sowieso nicht, dies in der Bootstrap-Dokumentation zu tun, aber ich stelle mir eine Möglichkeit vor, dies zu erreichen. Wer kennt einen Weg?

Antwort

11

Ich sehe auch keine Dokumentation bezogen. Sie können aber mit einem jQuery prüfen, ob der Tooltip das Attribut data-original-title hat. Dieses Attribut wird vom Plugin beim Initialisieren des Elements hinzugefügt und für den Tooltip-Textinhalt verwendet.

if ($('.example').attr('data-original-title')) { 
    console.log('Tooltip not initialized'); 
} else { 
    console.log('Tooltip initialized'); 
    // Change the tooltip content 
    $('.example').attr('data-original-title', 'My new title'); 
} 
+0

Hmm, ich sehe, dass Gegenstände Tooltip Funktion auch haben bevor ich den Tooltip auf sie initialisiere. –

+0

Ja, weil Tooltip wie ein jQuery-Plugin ist. Es ist verfügbar, aber nicht im Element initialisiert, bis die Optionen übergeben werden. – ricardohdz

+0

Ah, ok, ich sehe die Verwirrung, ich habe versucht herauszufinden, ob ein Feld einen Tooltip hat, nicht ob das Plugin überhaupt initialisiert wurde. –

3

Methode landete ich nur für den Fall mit bis es anders, für jeden nützlich ist

var field = $('.example'); 

if (field.data && field.data('tooltip')) { 
    // tooltip not initalized 
} else { 
    // it is 
} 
13

Mit Bootstrap 3:

var field = $('.example'); 

if (field.data && field.data('bs.tooltip')) { 
    // tooltip is initialized 
} else { 
    // tooltip is not initialized 
} 
+0

Du hast gerade meinen Tag gemacht! Danke :) – ChristoKiwi

+0

Dies sollte als die richtige Antwort markiert werden. – Gideon

Verwandte Themen