2

TwitterBootstrapを使用してツールチップを作成しています。現在、ツールチップを次のように初期化します$(document).ready()

$(document).ready(function() {
    $('[data-toggle="tooltip"]').tooltip();
});

これはtooltip()、要素を持つすべての要素に対して(リスナーを初期化する)呼び出しを行いdata-toggleます。

問題は、(Ajaxを使用して)動的DOM要素がある場合、tooltip()それらに対してが呼び出されないことです。私は次のような解決策を考えました:

$(document).ready(function() {
    $('body').on('ready', '[data-toggle="tooltip"]', function() {
        $(this).tooltip();
    });
});

しかし、それはうまくいきません。

何か案は..?

4

1 に答える 1

5

ajax メソッドが戻ったら (そして新しい要素が注入されたら)、プラグインを再初期化するだけです。

$.ajax({
    url: 'foo.html',
    type: 'post',
    data: { foo: "bar"},
    success: function (html) {

        $("#foo").html(html);
        $('[data-toggle="tooltip"]').tooltip();
    }
});
于 2012-10-25T12:21:23.420 に答える