Как динамически изменить положение Popover Bootstrap?

Есть ли способ изменить расположение / положение Bootstraps Popover в зависимости от ширины окна? Я использую его, чтобы отобразить некоторые дополнительные элементы формы, и мне нужно показать, если на левом сайте, но на мобильном телефоне сверху. Так что в основном, когда экраны становятся меньше - мне нужно изменить положение.

jQuery('#monthly-expenses').popover({
    content: jQuery('#monthly-expense-datails'),
    placement() {
        let placement = 'left';

        if (jQuery(window).width() <= 992) {
            placement = 'top';
        }

        return placement;
    },
    html: true,
    trigger: 'manual'
})

1 ответ

Вы можете уничтожить и воссоздать всплывающее окно при изменении размера окна:

var placement;
jQuery(window).on('resize',function(){

        if (jQuery(window).width() <= 992 && placement == 'left') {//when the width is right and we did't change placement
           placement = 'top';
           jQuery('#monthly-expenses').popover('dispose');//destroy the 
           createPopover(placement);//create it with the new placement
        } else  if (jQuery(window).width() > 992 && placement == 'top')
           placement = 'left';
           jQuery('#monthly-expenses').popover('dispose');//destroy the popover
           createPopover(placement);//create it with the new placement
        }

});
function createPopover(placement) {
  jQuery('#monthly-expenses').popover({
        content: jQuery('#monthly-expense-datails'),
        placement:placement,
        html: true,
        trigger: 'manual'
   });
}
Другие вопросы по тегам