当我点击一个按钮时,如果你点击弹出窗口中的按钮,弹出窗口就会关闭。但是,如果您单击另一个按钮打开弹出窗口,则会同时看到两个弹出窗口,而我只想保留一个弹出窗口。关闭AngularStrap弹出窗口
我尝试过使用触发器“focus”,但是如果单击popover内的textarea,它会关闭弹出窗口,我希望当您单击弹出窗口之外时调用此触发器。
对此有何想法?可以从控制器调用$ hide,$ show方法吗?
当我点击一个按钮时,如果你点击弹出窗口中的按钮,弹出窗口就会关闭。但是,如果您单击另一个按钮打开弹出窗口,则会同时看到两个弹出窗口,而我只想保留一个弹出窗口。关闭AngularStrap弹出窗口
我尝试过使用触发器“focus”,但是如果单击popover内的textarea,它会关闭弹出窗口,我希望当您单击弹出窗口之外时调用此触发器。
对此有何想法?可以从控制器调用$ hide,$ show方法吗?
好吧,我很确定这是一个可怕的黑客攻击,但这里就是这样。假设你的popover模板都使用popover类(如果你没有使用带有data-template属性的自定义模板,它们应该),并且它们是触发它们的按钮的兄弟(如果你没有使用容器属性,它们是),您可以将以下指令应用于弹出式按钮。注意:这假设弹出和弹出式按钮的父元素具有唯一的ID。
angular.module('yourApp.directives', []).directive('rmPopovers',
function($document,$rootScope,$timeout,$popover) {
return {
restrict: 'EA',
link : function(scope, element, attrs) {
var $element = $(element);
$element.click(function() {
$('.popover').each(function(){
var $this = $(this);
if($this.parent().attr('id') != $element.parent().attr('id'))
{
$this.scope().$hide();
}
}
);
});
}
}
}
);
然后
<button type="button" bs-popover rm-popovers [your data attribs here]>Button!</button
多么美妙的解决方案!非常感谢你 – grouser
有一个issue in the angular-strap github project,询问正是你想要的功能。
不过,此刻我正在写这个答案,它仍然是开放的。
尝试在popover的可排除元素上添加ng-click="$hide()"
。即:
<a class="btn btn-primary" ng-click="$hide()">Close</a>
它不包含在文档中,但它为我工作,当且仅当您使用酥料饼的内容数据的模板,也没有与其他开酥料饼试过没。
这应该是个老问题了,在角带的最新版本,新的属性可以在这种情况下使用: auto-close='1'
trigger : 'focus' ,
为我工作就同一问题
我太迫切需要这个问题的答案...有没有人有任何想法? – rmehlinger
将属性auto-close ='1'添加到按钮或标签。 –