0

ページにポップオーバーを作成し、AJAX 呼び出しからコンテンツを取得する関数があります。作成中に、私の関数はポップオーバーの位置を変更します (ページ全体なので、left属性を 0 に設定し、矢印を移動して要素を指すようにします)。最初はすべて正常に動作しますが、マウスを外に移動してからもう一度移動すると、ポップオーバーはデフォルトの位置から移動しません (矢印も移動しません)。

私のコード:

var last_opened_popover = null
jQuery(document).ready(function(){
    jQuery("*[data-poload]").mouseenter(function(){
        if (last_opened_popover != null){
            last_opened_popover.popover("destroy")
        }
        var element = jQuery(this)
        last_opened_popover = element
        var polId = element.data("poload")
        jQuery.ajax({
             url : my_url,
             type : "POST",
             data : {
                 //datas
         },
         success : function(result){
            var supporter_list = compose_supporter_list(result);
            var left = element.position().left + 75
            element.popover({
                content : supporter_list,
                html : true,
                placement : "bottom",
                template : '<div id="shown-popover" class="popover pgsc-popover" role="tooltip"><div class="arrow"></div><h3 class="popover-title"></h3><div class="popover-content"></div></div>'
            })
            element.popover("show")
            var popover = jQuery("#shown-popover")
            popover.css("left", 0)
            popover.find(".arrow").css("left", left)
         }
      })
    }).mouseleave(function(){
       jQuery(this).popover("destroy")
    })
})
4

1 に答える 1