Bootstrap Popover 点击Popover外区域自动关闭Popover

越季萌
2023-12-01

最近在写一个web网站,前端方面,都是初学的,用到了一个bootstrap的popover,但是有些东西默认的不太好用,就只能自己修改了。

比如说默认只有点击触发的那个按钮才能关闭pop,而现在我想点击Popover外区域自动关闭Popover。


这个时候可以给Body加一个监听。

$('body').on('click', function(event) {
    var target = $(event.target); // One jQuery object instead of 3

    // Compare length with an integer rather than with 
    if (!target.hasClass('popover')
            && target.parent('.popover-content').length === 0
            && target.parent('.myPopover').length === 0
            && target.parent('.popover-title').length === 0
            && target.parent('.popover').length === 0 && target.attr("id") !== "folder") {
        $('#folder').popover('hide');
    }
});
上面的代码解释如下:

给body添加一个click监听。

然后获取到当前的target。

这个时候怕段target的父亲节点是不是在popover里面。

如果在,说明当前鼠标点击发生在pop里,

如果不在,就触发下面的按钮,关闭pop。

 $('#folder').popover('hide');

 类似资料: