web-dev-qa-db-fra.com

AngularJS ng-cliquez sur la ligne du tableau mais pas sur un certain td

Je suis confronté à un problème lorsqu'il y a un événement data-ng-click sur la ligne du tableau, Mais je veux qu'un certain td ne fasse pas l'événement dans la ligne.

est-il possible de le faire?

si c'est le cas, comment?

exemple 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>
18
Liad Livnat

Vous pouvez arrêter la propagation d'événements comme ceci:

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

de sorte que lorsque vous cliquez sur cette cellule, l'événement ne sera pas affiché dans le gestionnaire d'événements tr.

Démo: http://plnkr.co/edit/jvh5NKaDsvpPKuSJhzFx?p=preview

47
dfsq

Vous pouvez écrire quelque chose dans la fonction do_some_action qui le fait explicitement ignorer la classe "call-non-clickable-call". Il serait plus facile de dire avec un jsfiddle ou un exemple de ce que cette fonction est.

0
TheLawrence

ajoutez simplement ng-click où vous voulez cliquer événement

<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

0