Estou usando as dicas de ferramentas de auto-inicialização do Twitter com javascript, da seguinte maneira:
$('a[rel=tooltip]').tooltip();
Minha marcação é assim:
<a rel="tooltip" title="Not implemented" class="btn"><i class="icon-file"></i></a>
Isso funciona bem, mas adiciono <a>
elementos dinamicamente e as dicas de ferramentas não estão aparecendo para esses elementos dinâmicos. Eu sei que é porque eu só vinculo .tooltip () uma vez quando o documento é carregado com a $(document).ready(function()
funcionalidade jquery típica .
Como vincular isso a elementos criados dinamicamente? Normalmente, eu faria isso através do método jquery live (). No entanto, qual é o evento que eu uso para ligar? Só não sei como conectar o bootstrap .tooltip () ao jquery .live ().
Eu encontrei uma maneira de fazer isso funcionar é algo como isto:
/* 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();
});
Isso funciona, mas parece meio tolo. Também estou chamando exatamente a mesma linha .tooltip () na chamada $ (ready). Então, os elementos que existem quando a página é carregada pela primeira vez e correspondem a esse seletor terminam com a dica de ferramenta duas vezes?
Não vejo problemas com essa abordagem. Estou apenas procurando uma melhor prática ou compreensão do comportamento.
fonte
rel
atributo. Isso não é semântico e foi originado há mais de uma década como um hack. Atualmente, todos os navegadores que remontam a vários anos suportamdata-*
atributos e não há mais motivos para não usá-los.Respostas:
Tente este:
fonte
Se você tiver várias configurações de dicas de ferramentas que deseja inicializar, isso funcionará bem para mim.
Você pode definir a propriedade em elementos individuais usando
data
atributos.fonte
Para mim, apenas capturar o evento do mouseenter era um pouco complicado, e a dica de ferramenta não estava aparecendo / ocultando corretamente. Eu tive que escrever isso, e agora está funcionando perfeitamente:
fonte
Publiquei uma resposta mais longa aqui: https://stackoverflow.com/a/20877657/207661
TL; DR: você precisa de apenas uma linha de código que é executada no evento pronto para documento:
Outro código mais complicado sugerido em outras respostas não parece necessário (eu testei isso com o Bootstrap 3.0).
fonte
Para mim, esse js reproduz o mesmo problema que acontece com Paola
Minha solução:
fonte
Em vez de procurá-lo em corpo inteiro. Pode-se usar a opção de título dinâmico já disponível em tais cenários, eu acho:
fonte
Descobri que uma combinação dessas respostas me deu o melhor resultado - permitindo que eu ainda posicione a dica e a anexe ao contêiner relevante:
HTML relevante:
fonte