0

このコードを使用して、ホバー時にポップオーバーを開いたままにしていました。

var originalLeave = $.fn.popover.Constructor.prototype.leave;
$.fn.popover.Constructor.prototype.leave = function(obj){
  var self = obj instanceof this.constructor ?
    obj : $(obj.currentTarget)[this.type](this.getDelegateOptions()).data('bs.' + this.type)
  var container, timeout;

  originalLeave.call(this, obj);

  if(obj.currentTarget) {
    container = $(obj.currentTarget).siblings('.popover')
    timeout = self.timeout;
    container.one('mouseenter', function(){
      //We entered the actual popover – call off the dogs
      clearTimeout(timeout);
      //Let's monitor popover content instead
      container.one('mouseleave', function(){
        $.fn.popover.Constructor.prototype.leave.call(self, self);
      });
    })
  }
};


$('body').popover({ selector: '[data-popover]', trigger: 'click hover', placement: 'auto', delay: {show: 50, hide: 400}});

例: http://jsfiddle.net/raving/2thfaxeu/

これは Bootstrap 3 ではうまく機能しますが、現在 Bootstrap 4 alpha を使用しているため、これはもう機能しません。それを機能させる方法がわかりません。どこにも答えが見つかりません。Bootstrap 4 で動作するようにこのコードを変更するのを手伝ってくれる人はいますか?

4

1 に答える 1