Скажем, у меня есть строка, которая выглядит как
<tr>
<td>John</td>
<td>Smith</td>
<td>Approved?<input type="checkbox"/></td>
</tr>
Каждая строка показывает одного сотрудника и позволяет проверить, одобряет/отклоняет сотрудника (например, для регистрации для курса). Я хочу, чтобы пользователь мог щелкнуть в любом месте строки, чтобы получить более подробную информацию о сотруднике, но если они нажмут на последний столбец ( "Approved?" ), Он не должен идти более подробно, так как он должен просто изменить флажок.
Вот те решения, о которых я знаю, никто не велик:
- Целая строка:
<tr class="clickable" ng-click="go()">
. Делает все ячейки и поля доступными для кликов и требует только одну записьng-click
, но при этом флажок вызывает "go()", что плохо. - Каждая ячейка:
<td class="clickable" ng-click="go()">...<td class="clickable" ng-click="go()">
. Pro: может ограничивать только те ячейки, которые я хочу. Con: много повторений (не DRY) и пропускает поля. - Целая строка со специальным "go" fn:
<tr class="clickable" ng-click="go()">
, но "go" знает, как различать разные ячейки. Pro: Имеет точно эффект. Con: требуется много знаний view/html в специализированном действии контроллера.
Как я могу сделать первые 2 столбца и их поля кликабельными, но не третьими или полями?