2016-10-07 2 views
0

私はng-repeatの一部である行のグリッドを持っています。 ng-repeatと同じレベルで、ユーザーが行をクリックしたときに解消したいng-clickがあります。行のボタン(ng-clickのdiv)のクリックがdivのクリックイベントを発生させないようにする方法はありますか?

各行には、ng-clickイベントの標準ボタンがあります。

ユーザーがボタンをクリックすると、ボタンのクリックイベントが発生し、それを含むDIVのng-clickイベントも発生します。

後者を停止することは可能ですか?言い換えれば、ボタンをクリックして2番目のクリックを放棄しないようにするには?

+0

ボタンの 'NG-click'に' $のevent'を渡すとの '$ event.stopPropogation()' –

+1

可能な重複行う[親NGクリックを無効にする方法を?](HTTP ://stackoverflow.com/questions/32799590/how-to-disable-parent-ng-click) –

答えて

2

はい、可能です。

<row ng-click="onParentClicked($event)"> 
    <button ng-click="onChildrenClicked($event)">Hit me</button> 
</row> 

そしてコントローラ:たとえば

$event.stopPropagation(); 

:それはそうのような彼の親要素に当たる前に、子供たちのイベントの伝播を停止することができます

function myController($scope){ 

    $scope.onParentClicked = function ($event) { 
     // some click logic here 
    }; 

    $scope.onChildrenClicked= function ($event) { 
     // stop propagation 
     $event.stopPropagation(); 

     // some click logic here 
    }; 
} 
1

$eventng-clickに合格しますボタンを押してください。$event.stopPropogation()

<button ng-click="foo($event)">Click Me </button>

$scope.foo = function ($event) { 
    $event.stopPropagation(); 

}; 
関連する問題