我将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 器匹配时存在的元素是否会出现两次工具提示呢?

我认为这种方法没有任何问题.我只是在寻找最佳实践或对行为的理解.

推荐答案

试试这个:

$('body').tooltip({
    selector: '[rel=tooltip]'
});

Jquery相关问答推荐

如何通过Juser-row-num添加动态值

在 JQuery DataTable 中通过按钮单击传递 ID

退出 jquery.each 循环后

递归循环遍历对象(树)

如何滚动到AngularJS中的页面顶部?

jQuery 动画滚动

使用 JSONP 时如何捕获 jQuery $.getJSON(或数据类型设置为jsonp的 $.ajax)错误?

如何计算具有相同类的元素数量?

如何使用 jQuery 清空输入值?

jQuery Force 为 iframe 设置 src 属性

复选框值始终为打开

Jquery Ajax 错误处理忽略中止

使用 jQuery 将宽度设置为百分比

一组元素中具有最大高度的元素

jQuery XML 错误请求的资源上不存在‘Access-Control-Allow-Origin’标头.

如何在纯 JavaScript 中模拟鼠标悬停以激活 CSS:悬停?

我可以通过 JavaScript 禁用 CSS :hover 效果吗?

如何以编程方式触发 ngClick

CORS - 如何预检httprequest?

如何让 jQuery 等到效果完成?