我有一个表格,每行都有一个复选框。表行侦听ng-click和复选框ng-change:
<tr ng-repeat="box in boxList | box_expect:searchText" ng-click="openBox(box._id)">
<td>...</td>
<td>...</td>
<td>...</td>
<td><input type="checkbox" ng-change="checkBoxChanged(id)" ...></td>
</tr>
每次单击复选框,我都会触发表格行的ng-click事件。
我将ng-click更改为ng-doubleClick,但双击移动设备并不方便处理。
我该如何解决这个问题?
答案 0 :(得分:3)
您可以创建一个指令,停止在复选框(DEMO)上传播点击事件。
app.directive('noclick', [function() {
return {
restrict: 'A',
link: function link(scope, element, attrs) {
element.bind('click', function(e) {
e.stopPropagation();
});
}
}
}]);
并将其添加到您的复选框:
<input type="checkbox" ng-change="checkBoxChanged(id)" ng-model="loremIpsum" noclick>