我只是想知道这是否是一个很好的方法,或者我是不是很愚蠢。基本上,身体中的任何点击都被验证为不是弹出框,或者是弹出框内。如果不是,那么它会隐藏所有的弹出窗口。
$("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');
};
});
答案 0 :(得分:2)
$('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
正在做什么,最后});
也许你把它包裹在一个函数中。