Aşağıdaki gibi javascript ile Twitter bootstrap araç ipuçları kullanıyorum:
$('a[rel=tooltip]').tooltip();
İşaretlemem şöyle görünüyor:
<a rel="tooltip" title="Not implemented" class="btn"><i class="icon-file"></i></a>
Bu iyi çalışıyor, ancak <a>öğeleri dinamik olarak ekliyorum ve araç ipuçları bu dinamik öğeler için görünmüyor. Belge tipik jquery $(document).ready(function()işlevselliği ile yüklendiğinde .tooltip () bir kez bağlamak çünkü biliyorum .
Bunu dinamik olarak oluşturulan öğelere nasıl bağlayabilirim? Genellikle bunu jquery live () yöntemi ile yaparım. Ancak, bağlamak için kullandığım olay nedir? Ben nasıl bootstrap .tooltip () jquery .live () ile bağlamak için emin değilim.
Bu işi yapmanın bir yolunu buldum:
/* 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();
});
Bu işe yarıyor, ama biraz hileli görünüyor. Ayrıca $ (hazır) çağrısında aynı .tooltip () satırını arıyorum. Peki, sayfa ilk kez yüklediğinde ve bu seçiciyle eşleştiğinde var olan öğeler araç ipucuyla iki kez sonuçlanıyor mu?
Bu yaklaşımla ilgili herhangi bir sorun görmüyorum. Sadece en iyi uygulamayı veya davranışı anlamaya çalışıyorum.
relözelliği kaçırmak kötü bir stil buluyorum . Bu semantik değildir ve on yıl önce bir hack olarak ortaya çıkmıştır. Günümüzde, birkaç yıl geriye giden her tarayıcı, data-*özellikleri desteklemektedir ve bunları kullanmamanın bir nedeni yoktur.