更新到bootstrap popover 3.2后,ng-click事件未正确触发

时间:2014-09-16 08:21:17

标签: angularjs twitter-bootstrap

在我的项目中,bootstrap popover用于显示带有ng-click事件的跨度(使用指令编译popover内容,然后将popover绑定到element)。我有bootstrap 3.1.1,它工作正常。每次打开弹出窗口时,都会触发ng-click事件。现在我已经转移到bootstrap 3.2.0并且我的项目中的popovers工作不正常。它只会在我们第一次显示然后隐藏弹出窗口(通过单击页面)之后工作,之后,当我再次打开弹出窗口时,它会正确显示内容但不会触发事件。似乎事件从元素中删除了。我尝试过onclick事件而不是ng-click,它在两个版本中都能正常工作。

            <a ng-repeat="b in list"
               role="button" class="btn">
                <input ng-if="someCondition"
                       sample-popover type="hidden"
                       popover-content="{{ b.content }}" />
            </a>

我有这个HTML和Popover内容只是一个简单的跨度与ng-click。

.directive('samplePopover', function ($compile) {
return {
    restrict: "A",
    link: function (scope, element, attrs) {
        var options = {
            content: $compile(attrs.popoverContent)(scope),
            placement: "bottom",
            html: true,
            trigger: 'click',
        };
        $(element).closest('a').popover(options);
        scope.test= function () { 
//this is called with ng-click
        };
    }

}});

0 个答案:

没有答案