2013-07-30 17 views

回答

5

我想我已經想出了一個解決方案,雖然它可能看起來有點hacky。

在複選框

,我添加一個額外的NG-單擊屬性成爲

<input type="checkbox" ng-click="stopPropagation($event)"/> 

根據AngularJS文檔,$事件具有作用的事件對象,這裏是點擊。所以如果我們可以阻止事件的傳播,我們可以檢查複選框。在控制器中,我添加了一個方法stopPropagation如下

$scope.stopPropagation = function(e) { 
    // to make sure it is a checkbox 
    if (angular.element(e.currentTarget).prop('tagName') === 'INPUT') { 
     e.stopPropagation(); 
    } 
} 

這是 Plunker Demo

+0

值得一提的,這種方法也適用於手風琴 - ,你必須出現在手風琴標題的複選框。 –