Javascript TwitterBootstrap Popover添加带有事件的回调函数

Javascript TwitterBootstrap Popover添加带有事件的回调函数,javascript,jquery,css,twitter-bootstrap,Javascript,Jquery,Css,Twitter Bootstrap,我想实现一个基于鼠标点击位置的引导弹出框。 似乎我需要事件来告诉我鼠标的x和y位置以及popover的高度和宽度在哪里,以便正确计算此信息 我目前正在做: var pt = $.fn.popover.Constructor.prototype.show; $.fn.popover.Constructor.prototype.show = function () { pt.call(this); if (this.options.callback) { this.o

我想实现一个基于鼠标点击位置的引导弹出框。 似乎我需要事件来告诉我鼠标的x和y位置以及popover的高度和宽度在哪里,以便正确计算此信息

我目前正在做:

var pt = $.fn.popover.Constructor.prototype.show;
  $.fn.popover.Constructor.prototype.show = function () {
    pt.call(this);
    if (this.options.callback) {
      this.options.callback();
    }
  };

$(this).popover({
      container : 'body',
      html: 'true',
      title: '<div id="popover-title">Title </div>',
      content : '<div id="popover-body">Information </div>',
      callback: function() {
        // position calculation here.
      }
    })
var pt=$.fn.popover.Constructor.prototype.show;
$.fn.popover.Constructor.prototype.show=函数(){
pt.呼叫(本);
if(this.options.callback){
this.options.callback();
}
};
$(这个)({
容器:'主体',
html:'真',
标题:“标题”,
内容:“信息”,
回调:函数(){
//这里的位置计算。
}
})
但我不知道如何从回调中获取事件

我也不太确定这样做是否正确。如果没有,请指出

提前谢谢

编辑:

我这样做是为了让它工作,谢谢你的帮助

$(this).popover({
      placement: 'top',
      container : 'body',
      html: 'true',
      title: '<div id="popover-title">Title </div>',
      content : '<div id="popover-body">Information </div>',
      trigger: 'manual'
    }).click(function (e) {
      var popover = $("#popover-title");
      $(this).popover((popover.length != 0)? 'hide' : 'show');

      popover = $("#popover-title");
      if (popover && popover.parent() && popover.parent().parent()) {
        popover = popover.parent().parent();
      }

      var left = e.pageX;
      var top = e.pageY;
      var height = popover.height();
      var width = popover.width();

      popover.css({
        top: top - height,
        left: left - width / 2 + 'px'
      });
    });
$(this).popover({
位置:'顶部',
容器:'主体',
html:'真',
标题:“标题”,
内容:“信息”,
触发器:“手动”
})。单击(功能(e){
var popover=$(“#popover标题”);
$(this.popover)((popopover.length!=0)?“隐藏”:“显示”);
popover=$(“#popover标题”);
if(popover&&popover.parent()&&popover.parent().parent()){
popover=popover.parent().parent();
}
var left=e.pageX;
var-top=e.pageY;
var height=popover.height();
var width=popover.width();
popover.css({
顶:顶高,,
左:左-宽度/2+‘px’
});
});
试试看

jQuery(函数($){
var标志=假;
$(文档).popover({
容器:'主体',
html:'真',
标题:“标题”,
内容:“信息”,
触发器:“手动”
})。单击(功能(e){
$(this.popover(标志?'hide':'show');
flag=!flag;
var pop=$(this.data('bs.popover');
//这里pop.tip()将提供popover元素,e也可以提供鼠标坐标
pop.tip().css({
顶部:e.pageX,
legt:e.pageY
})
});
});

演示:

类似于?演示似乎有点奇怪,但我采用了这种方法,似乎帮助很大。谢谢我将很快更新这个问题。@user959974在演示中,我刚刚尝试演示如何获取鼠标位置和popover元素。。。。我没有试着正确定位popover。。希望你能找到答案
jQuery(function ($) {
    var flag = false;
    $(document).popover({
        container: 'body',
        html: 'true',
        title: '<div id="popover-title">Title </div>',
        content: '<div id="popover-body">Information </div>',
        trigger: 'manual'
    }).click(function (e) {
        $(this).popover(flag ? 'hide' : 'show');
        flag = !flag;
        var pop = $(this).data('bs.popover');

        //here pop.tip() will give the popover element also e can give the mouse cordinated

        pop.tip().css({
            top: e.pageX,
            legt: e.pageY
        })
    });
});