このコードを使用して、ホバー時にポップオーバーを開いたままにしていました。
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 で動作するようにこのコードを変更するのを手伝ってくれる人はいますか?