簡體   English   中英

AngularJS ng-單擊表行但不在某個td上

[英]AngularJS ng-click on table row but not on a certain td

當桌面行上有一個事件data-ng-click時,我遇到了一個問題,但我希望某個td不會在該行中執行該事件。

有可能做到嗎?

如果是這樣,怎么樣?

示例html:

      <table>
          <tr data-ng-click="do_some_action()">
              <td>
                  cell 1 is clickable
              </td>
              <td>
                  cell 2 is clickable
              </td>
              <td class="not-clickable-cell">
                  cell 3 is not! clickable
              </td>
          </tr>
      </table>

您可以像這樣停止事件傳播:

<td class="not-clickable-cell" ng-click="$event.stopPropagation()">
    cell 3 is not! clickable
</td>

因此,當您單擊此單元格時,事件將不會冒泡到tr事件處理程序。

演示: http//plnkr.co/edit/jvh5NKaDsvpPKuSJhzFx?p = preview

你可以在do_some_action函數中寫一些東西,明確地讓它忽略類“not-clickable-call”。 使用jsfiddle或該函數的示例會更容易說。

只需添加ng-click您想要點擊事件的位置

<table>
      <tr >
          <td data-ng-click="do_some_action()">
              cell 1 is clickable
          </td>
          <td>
              cell 2 is clickable
          </td>
          <td class="not-clickable-cell">
              cell 3 is not! clickable
          </td>
      </tr>
  </table>

DEMO

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM