1

以下にこのコードがありますが、これは正常に機能しますが、マウスを重ねたことがなくても、すべてのdiv.testをループするため、不要のようです。より効率的にするために、mouseoverイベント内に.qTip()関数を入れてみましたが、うまくいかないようです。

以下のコードをより効率的にする方法について何か提案はありますか?

<script type="text/javascript">
    $(document).ready(function () {

        $('div.test').each(function () {

            var tooltipHtml = $(this).next('.tooltip').html();
            $(this).qtip({
                content: {
                    text: tooltipHtml
                },
                style: { width: 450 }
            });
        });
    });
4

1 に答える 1

1

次のように少し改善できます。

$(function () {
    $('div.test').each(function () {
        $(this).qtip({
            content: $(this).next('.tooltip'),
            style: { width: 450 }
        });
    });
});

このcontentオプションはjQueryオブジェクト(ドキュメントではjQuery DOM配列と呼ばれます)を使用するため、各オブジェクトのHTMLをクロールする必要はありません。 ただし、これらの多数(数百以上)をバインドしている場合でも、古いブラウザーで求めているパフォーマンスとは異なる場合があります。

于 2010-08-01T12:03:40.987 に答える