我有一些Bootstrap Popover按钮:
<div class="bs-example tooltip-demo">
<div class="bs-example-tooltips">
<button type="button" class="btn btn-default" data-container="body" data-toggle="popover" data-placement="top" data-content="Vivamus sagittis lacus vel augue laoreet rutrum faucibus." data-original-title="" title="">Popover on top</button>
<button type="button" class="btn btn-default" data-container="body" data-toggle="popover" data-placement="bottom" data-content="Vivamus sagittis lacus vel augue laoreet rutrum faucibus." data-original-title="" title="">Popover on bottom</button>
<button type="button" class="btn btn-default" data-container="body" data-toggle="popover" data-placement="right" data-content="Vivamus sagittis lacus vel augue laoreet rutrum faucibus." data-original-title="" title="">Popover on right</button>
</div>
</div>
<br><br>
<button id="toggle" class="btn btn-default" >Toggle all</button>
这里是剧本:
$('[data-toggle="popover"]').popover();
$('#toggle').on('click', function (e) {
$('[data-toggle="popover"]').each(function () {
if (!$(this).is(e.target) && $(this).has(e.target).length === 0 && $('.popover').has(e.target).length === 0) {
$(this).popover('toggle');
}
});
});
$('body').on('click', function (e) {
$('[data-toggle="popover"]').each(function () {
if (!$(this).is(e.target) && $(this).has(e.target).length === 0 && $('.popover').has(e.target).length === 0) {
$(this).popover('hide');
}
});
});
所以我想要实现的是:
Toggle all
切换所有Popovers 在我的代码中它不起作用,也许与隐藏和切换有冲突?
答案 0 :(得分:1)
假设你只想让最后一个按钮切换页面上的所有弹出框,那么这就是你需要做的:
$('html').on('mouseup', function(e) {
if(typeof $(e.target).data('toggle') === "undefined"
&& $(e.target).attr('id') != 'toggle') {
$('[data-toggle="popover"]').popover('hide');
}
});
如果您点击任何不是弹出窗口或切换弹出窗口的按钮,此代码也会隐藏所有弹出窗口:
void svc_exit(void)
您的小提琴已更新:https://jsfiddle.net/C5GBU/1426/