我将Twitter bootstrap 工具提示与javascript结合使用,如下所示:
$('a[rel=tooltip]').tooltip();
我的标记如下所示:
<a rel="tooltip" title="Not implemented" class="btn"><i class="icon-file"></i></a>
这很好,但我动态添加了<a>
个元素,这些动态元素的工具提示没有显示出来.我知道那是因为我只会绑.使用典型的jquery $(document).ready(function()
功能加载文档时,tooltip()会显示一次.
如何将其绑定到动态创建的元素?通常,我会通过jQuery live()方法执行此操作.但是,我用来绑定的事件是什么?我只是不确定如何将bootstrap.toolTip()与jQuery.live()挂钩.
我已经找到了一种让这件事奏效的方法,就是这样:
/* 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();
});
这很管用,但看起来有点老土.我还在$(Ready)调用中调用了完全相同的.toolTip()行.那么,页面第一次加载并与 Select 器匹配时存在的元素是否会出现两次工具提示呢?
我认为这种方法没有任何问题.我只是在寻找最佳实践或对行为的理解.