如果在弹出框内单击按钮,则angular-ui popover会消失

时间:2016-11-20 12:18:05

标签: angularjs angular-ui-bootstrap angular-ui angular-directive

我已将popoverpopover-trigger ='outsideclick'一起使用,并在popover中使用自定义指令来呈现html。

现在当我点击popover内的一个按钮时,popover就会消失。

我在Link of problem

创建了问题的条纹版本

我做错了什么? 为什么popover会消失? 如何解决?

2 个答案:

答案 0 :(得分:2)

你可以改变ng-if到ng-show,它会起作用。

var template =
          '<ul>' +
          '<li data-ng-repeat="node in ' + appModel + '" >' +
          '<button  data-ng-show="node.collapsed" data-ng-click="' + treeId + '.selectNodeHead(node)">- click me</button>' +
          '<button  data-ng-show="!node.collapsed" data-ng-click="' + treeId + '.selectNodeHead(node)">+ click me</button>' +
          '</li>' +
          '</ul>'; 

此问题可能是由于ng-if删除或重新创建了DOM树的一部分,如果您想使用ng,如果您可以在Click函数中使用$event.stopPropagation();,那么事件不会传播。

来自:https://stackoverflow.com/a/37674704/3279156

答案 1 :(得分:-1)

为您的按钮添加一个属性,触发popover,trigger =“focus”

<button popover-trigger="'outsideClick'" trigger="focus" uib-popover-template="'tree.html'" type="button" class="btn btn-default">Popover</button>