Jquery plugin qtip – ajax obsah

QTip je celkem dobrý plugin, který nahrazuje zobrazení TITLE u prohlížečů.  Použití je jednoduché:

$(‘.qtip’).qtip();  — tim nastavim p2kn0 TITLE zobrazení po najetí myší na všechny elementy, které mají CLASS=qtip

Nicméně jsem si dlouho nevěděl rady, jak udělat, aby se qtip aplikoval i na AJAXem nahraný obsah. Protože, když po nahrání obsahu znovu zavolám předešlý příkaz, tak qtip se aplikuje také na již qtipnuté prvky a následně zobrazuje u těchto prvků jakoby dva qtipy přilepené přes sebe.

V api u qtipu existuje příkaz “destroy”, který qtip z prvků zruší a logicky poté lze znovu volat příkaz na jejich znovu nabindování. Jenže qtip má takovou vlastnost, že při jeho spuštění si vytáhne z atributu tagu TITLE to, co má pak zobrazit ve svém okně a pak title smaže. Tedy, když znovu nabinduji qtip tak vlastně již nemají co zobrazit, protože je TITLE prázdné.

Řešení je celkem jednoduché:

$(document).ready(function () {
qtipAll();
});

function qtipAll()
{
$(‘.qtip’).each(function () {
var title = $(this).attr(‘title’);
if ($(this).hasClass(‘qtipAlready’)) return true;

$(this).qtip({text:title, style:”cream”, position: {
corner: {
target: ‘bottomRight’

}
}});
$(this).addClass(‘qtipAlready’);
});

}