Comment puis-je lier Twitter Bootstrap des info-bulles pour créer dynamiquement des éléments?

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'ajoute <a> les é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é.

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) d'appel. 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 fois?

Je ne vois pas de problèmes avec cette approche. Je suis à la recherche d'une meilleure pratique ou de compréhension du comportement.

  • hmm bonne question, est-il utile? github.com/twitter/bootstrap/issues/2374
  • C'est une lecture intéressante, mais je suis le seul à vouloir un seul type d'info-bulle. Je veux juste m'assurer que tout ajoutées dynamiquement les éléments qui correspondent à la bulle d'aide du sélecteur ajoutés, ce qui n'est pas le cas.
  • Grande question. Semble comme une oversite de la part de twitter.
  • Comment les Chrétiens réponse pour vous? Soins à accepter comme correcte?
  • Oui, cette solution fonctionne. Mise à jour de la réponse. Merci pour le rappel.
  • Pas vraiment liée à votre question, mais... je le trouve mauvais style de détourner le rel attribut. Ce n'est pas la sémantique et a été créé il y a dix ans comme un hack. De nos jours, chaque navigateur, qui remontent à plusieurs années soutient data-* attributs et il n'y a pas plus de raison de ne pas les utiliser.

InformationsquelleAutor durden2.0 | 2012-03-31