0

ajax 呼び出しが行われた後、要素のポップオーバーを表示しようとしています。マウスオーバーイベントが発生したときにデータが表示されないことを除いて、すべてがajaxリクエストと最初のデータ取得まで機能します。しかし、もう一度カーソルを合わせると、ポップオーバーにデータが表示されます。私はこことウェブを見回して、同様の状況を見つけましたが、私の状況よりも複雑ではありません(マウスオーバーイベントとajaxはありません)。私の状況で最初に呼び出したときにポップオーバーが初期化されていないように見えることを理解しています。しかし、問題は、ajax が呼び出された後にしか表示できず、mouseenter でなければならないということです。誰でも最初の試行でポップオーバーを表示するように変更またはガイドできますか? 助けてくれてありがとう(私のページには2つあることに注意してください。そのうちの1つを表示しているだけです)。

エレメント

<a href="#" rel="popover" id="users">Access Count:</a>

Javascript

 $('#users').mouseenter(function () {
        $.ajax({
            type: "GET",
            url: "/album/feature_getaccess",
            data: { aID: modelID },
            success: function (result) {
                $('#users').popover({ content: result, html: true, placement: 'top', trigger: 'hover', delay: { show: 500, hide: 1500 } });
            }
        });
    });

2 番目のマウス インの後、正常に動作します。

4

1 に答える 1

4

mouseenter を削除するだけで、ポップオーバーは mouseenter にのみ表示されます。これは、に設定されているためです。trigger: 'hover'

$.ajax({
    type: "GET",
    url: "/album/feature_getaccess",
    data: { aID: modelID },
    success: function (result) {
        $('#users').popover({ content: result, html: true, placement: 'top', trigger: 'hover', delay: { show: 500, hide: 1500 } });
    }
});
于 2013-05-16T03:20:41.407 に答える