AngularJS - 带有 ng-click 事件的网格中包含的按钮单击
AngularJS - Button click contained in grid with ng-click event
.html
<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()
也会被触发。我找不到方法来阻止单击按钮时父元素的单击事件。
提前致谢。
可以使用Use 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>
.html
<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()
也会被触发。我找不到方法来阻止单击按钮时父元素的单击事件。
提前致谢。
可以使用Use 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>