2017-04-01 60 views
1

.htmlAngularJS - 按鈕點擊包含在網格NG-click事件

<div class="col col-50" 
    ng-repeat="col in row" 
    ng-click="openProductDetails(col.prod_id);"> 
    <button 
     ng-click="addToCart(col.prod_id);"> 
     Add to cart 
    </button> 
</div> 

正如你可以看到我有一個grid<div>這裏作爲其在openProductDetails()單擊事件。在網格內部,我有一個button,它有一個addToCart()。問題是當我點擊按鈕時,openProductDetails()也被觸發。我無法找到一種方法來防止單擊按鈕時父元素的單擊事件。

在此先感謝。

回答

0

可以使用使用event.stopPropation()。這變量是JS事件對象的引用,並且可以用來調用stopPropagation()

<div class="col col-50" 
     ng-repeat="col in row" 
     ng-click="openProductDetails(col.prod_id);"> 
     <button 
      ng-click="addToCart(col.prod_id); $event.stopPropagation();"> 
      Add to cart 
     </button> 
    </div>