小编典典

AngularJS ng-单击stopPropagation

javascript

我在表行上有一个单击事件,在这一行中还有一个带有单击事件的删除按钮。当我单击删除按钮时,也会触发该行上的单击事件。

这是我的代码。

<tbody>
  <tr ng-repeat="user in users" class="repeat-animation" ng-click="showUser(user, $index)">
    <td>{{user.firstname}}</td>
    <td>{{user.lastname}}</td>
    <td>{{user.email}}</td>
    <td><button class="btn red btn-sm" ng-click="deleteUser(user.id, $index)">Delete</button></td>
  </tr>
</tbody>

showUser当我单击表格单元格中的删除按钮时,如何防止触发事件?


阅读 285

收藏
2020-04-25

共1个答案

小编典典

ngClick指令(以及所有其他事件指令)创建$event在相同范围内可用的变量。此变量是对JS
event对象的引用,可用于调用stopPropagation()

<table>
  <tr ng-repeat="user in users" ng-click="showUser(user)">
    <td>{{user.firstname}}</td>
    <td>{{user.lastname}}</td>
    <td>
      <button class="btn" ng-click="deleteUser(user.id, $index); $event.stopPropagation();">
        Delete
      </button>
    </td>              
  </tr>
</table>

[PLUNKER](http://plnkr.co/edit/tTgu6LJkoVVahMMtHokt?p=preview)

2020-04-25