Saya menggunakan tooltips bootstrap Twitter dengan javascript seperti berikut:
$('a[rel=tooltip]').tooltip();
Markup saya terlihat seperti ini:
<a rel="tooltip" title="Not implemented" class="btn"><i class="icon-file"></i></a>
Ini berfungsi dengan baik, tapi saya menambahkan <a>
elemen secara dinamis dan tooltips tidak muncul untuk elemen dinamis tersebut. Saya tahu itu karena saya hanya mengikat .tooltip () sekali ketika dokumen selesai dimuat dengan $(document).ready(function()
fungsi jquery yang khas .
Bagaimana saya bisa mengikat ini ke elemen yang dibuat secara dinamis? Biasanya saya akan melakukan ini melalui metode jquery live (). Namun, acara apa yang saya gunakan untuk mengikat? Saya tidak yakin bagaimana cara menghubungkan bootstrap .tooltip () dengan jquery .live ().
Saya telah menemukan satu cara untuk membuat pekerjaan ini adalah sesuatu seperti ini:
/* 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();
});
Ini berfungsi, tetapi sepertinya agak retas. Saya juga menelepon baris .tooltip () yang sama persis dalam panggilan $ (siap). Jadi, apakah elemen yang ada saat halaman pertama dimuat dan cocok dengan pemilih itu berakhir dengan tooltip dua kali?
Saya tidak melihat masalah dengan pendekatan ini. Saya hanya mencari praktik terbaik atau pemahaman perilaku.
rel
atribut. Ini non-semantik dan berasal lebih dari satu dekade lalu sebagai peretasan. Saat ini, setiap browser yang kembali beberapa tahun mendukung data-*
atribut dan tidak ada lagi alasan untuk tidak menggunakannya.