Je suis en utilisant Twitter bootstrap des info-bulles avec javascript comme suit:
$('a[rel=tooltip]').tooltip();
Mon balisage ressemble à ceci:
<a rel="tooltip" title="Not implemented" class="btn"><i class="icon-file"></i></a>
Cela fonctionne bien, mais j'y ai ajouté <a>
éléments de façon dynamique et les info-bulles ne sont pas affichées pour les éléments dynamiques. Je sais que c'est parce que je ne lient .tooltip() une fois lorsque le document est terminé chargé avec le typique jquery $(document).ready(function()
fonctionnalités.
Comment puis-je lier cela à créé dynamiquement des éléments? Généralement je le faire via jquery live() la méthode. Cependant, ce qui est l'événement que j'utilise pour lier? Je ne suis pas sûr de la façon de raccorder le bootstrap .tooltip() avec jquery .live().
J'ai trouvé une façon de faire ce travail est quelque chose comme ceci:
/* Add new 'rows' when plus sign is clicked */
$("a.add").live('click', function () {
var clicked_li = $(this).parent('li');
var clone = clicked_li.clone();
clone.find(':input').each(function() {
$(this).val('');
});
clicked_li.after(clone);
$('a[rel=tooltip]').tooltip();
});
Cela fonctionne, mais il semble que ce genre de hackish. Je suis aussi de l'appel de la même exacte .tooltip() ligne dans le $(prêt). Oui, les éléments qui existent lorsque la page se charge tout d'abord et la correspondance sélecteur jusqu'à la fin avec l'info-bulle à deux reprises?
Je ne vois pas de problèmes avec cette approche. Je suis à la recherche d'une meilleure pratique ou de compréhension du comportement.