在可单击的表行中添加可单击元素

时间:2015-11-11 23:17:12

标签: javascript angular-ui

假设我有一个带有可点击元素的表格行:

  <tr ng-repeat="product in products" onclick="showProductDetail()">
      <td>{{product.id}}</td>
      <td>{{product.title}}</td>
      <td>{{product.price}}</td>
      <td>
        <switch id="enabled" name="enabled" ng-model="product.enabled" ng-change="enableProduct()"></switch>
      </td>
  </tr>

我正在使用Angular UI Switch,但任何可点击元素的问题都是相同的。

如何使行可单击但隔离开关的行为?目前它试图做到这两点,导致不稳定的行为。我知道我可以制作每个单元格,但最后一个单元格可以点击,但有更清洁的方法吗?

2 个答案:

答案 0 :(得分:1)

如果德米特里的回答不起作用。

尝试使用enableProduct($event)

调用ng-change

在该功能中,请致电

function enableProduct($event) {
   $event.stopPropagation();
   ...
}

答案 1 :(得分:0)

我相信<switch>处理程序应该停止事件传播。尝试从false处理程序返回ng-change。 E.g。

ng-change="enableProduct(); return false"