对于引导程序弹出窗口,我具有以下设置。弹出页面在页面加载时出现,如果我单击弹出窗口,它就会消失。我真正想要的是,如果我在弹出式窗口之外单击,或者在下次单击时单击更好,它就会消失。关于如何进行这项工作的任何想法?
$('div').on('hide.bs.popover', function (e) {
e.preventDefault();
});
$(document).ready(function() {
$("div").popover("show");
});
$('body').on('click', '.popover', function () {
$(this).hide();
});
<div class="dropdown pull-right" data-toggle="popover" data-placement="left" data-content="Main menu" style="right: -2px; top: 3px;">
<a href="#" class="glyphicon glyphicon-th dropdown-toggle" data-toggle="dropdown" style="color: #317EAC; text-decoration: none !important; font-size: 22px;"></a>
</div>
答案 0 :(得分:0)
根据文档:
使用焦点触发器可消除用户下一次单击时的弹出窗口。
因此请使用class Donald: ProtocolX, ProtocolY {
var abHandler: ProtocolA & ProtocolB
var aHandler: ProtocolA { return abHandler } // renamed in ProtocolX
var bHandler: ProtocolB { return abHandler } // renamed in ProtocolY
}
在下次单击时关闭所需的特定标记 为了实现正确的跨浏览器和跨平台行为,您必须使用标签而不是标签,并且还必须包括role =“ button”和tabindex属性。
data-trigger="focus"
答案 1 :(得分:0)
$('body').on('click', function (e) {
$('[data-toggle=popover]').each(function () {
// hide any open popovers when the anywhere else in the body is clicked
if (!$(this).is(e.target) && $(this).has(e.target).length === 0 && $('.popover').has(e.target).length === 0) {
$(this).popover('hide');
}
});
});
答案 2 :(得分:0)
找到了解决方案:
$(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');
}
});