css - Bootstrap Popover - 在任何地方点击关闭

标签 css twitter-bootstrap

我只是想知道这是不是一个好方法,还是我太蠢了。基本上,正文中的任何点击都被验证为不是弹出框 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/

相关文章:

twitter-bootstrap - Bootstrap 3 RC2 自定义导航栏固定顶部走两行

css - 为什么使用 initializr.com 生成的 bootstrap 模板的网站头部的主体样式

php - 在 CakePhp 上创建多列页面的最佳方式

html - 如何在 css 中的另一个 div 之上创建和放置一个半透明层

jquery - 如何使用 css 和 jquery 组织 50 个或更多 html 表单?

javascript - 使用 AngularJS 显示表单验证错误

HTML 片段链接与 CSS 定位一起使用?

html - 为什么我不能简单地将其复制并粘贴到每个页面以具有导航栏+ Logo ?

twitter-bootstrap - Bootstrap以模态提交表单并保持在同一页面

jquery - 如何在旋转木马中居中图像