我只是想知道这是不是一个好方法,还是我太蠢了。基本上,正文中的任何点击都被验证为不是弹出框 anchor ,或者在弹出框内。如果不是,则它会隐藏所有弹出窗口。
$("body").on('click', function(e) {
if(!$(event.target).hasClass('with-popover') && !$(event.target).parents('.with-popover').length && !$(event.target).parents('.popover').length){
$(".with-popover").popover('hide');
};
});
最佳答案
这是愚蠢的吗?不。只需进行一些修改即可提高效率。
$('body').on('click', function(event) {
var target = $(event.target); // One jQuery object instead of 3
// Compare length with an integer rather than with negation
if ( ! target.hasClass('with-popover')
&& target.parent('.with-popover').length === 0
&& target.parent('.popover').length === 0) {
$('.with-popover').popover('hide');
}
});
jQuery 还提供了一个 size()
也只返回长度的函数。我再也不用它了,只是为了注意。
我不确定 return true
是什么正在做最后的});
也许你把它包装在一个函数中。
关于css - Bootstrap Popover - 在任何地方点击关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18345535/