Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/372.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在弹出窗口外单击时隐藏引导弹出窗口_Javascript_Jquery - Fatal编程技术网

Javascript 在弹出窗口外单击时隐藏引导弹出窗口

Javascript 在弹出窗口外单击时隐藏引导弹出窗口,javascript,jquery,Javascript,Jquery,我有以下的引导弹出框设置。加载页面时,弹出框会出现,如果我单击弹出框,它就会消失。但我真正想要的是,如果我在流行音乐外单击,它就会消失,或者在下一次单击时更好。你有什么想法可以让它工作吗 $('div').on('hide.bs.popover',函数(e){ e、 预防默认值(); }); $(文档).ready(函数(){ 美元(“div”).popover(“show”); }); $('body')。在('click','popover',函数(){ $(this.hide(); })

我有以下的引导弹出框设置。加载页面时,弹出框会出现,如果我单击弹出框,它就会消失。但我真正想要的是,如果我在流行音乐外单击,它就会消失,或者在下一次单击时更好。你有什么想法可以让它工作吗

$('div').on('hide.bs.popover',函数(e){
e、 预防默认值();
});
$(文档).ready(函数(){
美元(“div”).popover(“show”);
});
$('body')。在('click','popover',函数(){
$(this.hide();
});

根据文档: 使用焦点触发器在用户下一次单击时关闭弹出窗口。 因此,请使用
data trigger=“focus”

下一次单击时解雇所需的特定标记 要实现正确的跨浏览器和跨平台行为,必须使用标记,而不是标记,还必须包含role=“button”和tabindex属性

可拆卸popover

根据文档: 使用焦点触发器在用户下一次单击时关闭弹出窗口。 因此,请使用
data trigger=“focus”

下一次单击时解雇所需的特定标记 要实现正确的跨浏览器和跨平台行为,必须使用标记,而不是标记,还必须包含role=“button”和tabindex属性


Dismissible popover

找到了解决方案:

$(document).ready(function() {
    $("div").popover("show");
});

$('body').on('click', function (e) {
    if ($(e.target).data('toggle') !== 'popover'
        && $(e.target).parents('.popover.in').length === 0) {
        $('[data-toggle="popover"]').popover('hide');
    }
});

找到了此问题的解决方案:

$(document).ready(function() {
    $("div").popover("show");
});

$('body').on('click', function (e) {
    if ($(e.target).data('toggle') !== 'popover'
        && $(e.target).parents('.popover.in').length === 0) {
        $('[data-toggle="popover"]').popover('hide');
    }
});

你试过onblur吗?谢谢你的回复@Lazar Nikolic。事实上没有,我没有,如何实现这一点?你尝试过模糊吗?谢谢你的回复@Lazar Nikolic。事实上,我没有,怎么能实现这个呢?谢谢回复@Rohit Verma,我已经尝试过了,不幸的是,popover没有消失!谢谢回复@Rohit Verma,我已经试过了,不幸的是,popover没有消失!感谢@Abdo-Host的回复,不幸的是popover没有消失。你的引导版本是什么?
/ruby-2.4.0/gems/bootstrap-sass-3.3.7/lib/bootstrap-sass.rb
感谢@Abdo-Host的回复,不幸的是,popover没有消失。您的引导版本是什么?
/ruby-2.4.0/gems/bootstrap-sass-3.3.7/lib/bootstrap-sass.rb