Добавление события onclick в td, но не должно запускаться по ссылкам внутри - PullRequest
3 голосов
/ 22 апреля 2011

У меня есть это:

$('table.data td').click(function() {
}

Но проблема в том, что это также срабатывает, когда я нажимаю на ссылки в этом столбце. Как я могу предотвратить это?

Пробовал что-то вроде table.data td :not(a), но это, похоже, не работает вообще.

Спасибо.

-

Неважно, только что узнал о e.target.nodeName! (если это лучший способ справиться с этим:! = 'A')

1 Ответ

6 голосов
/ 22 апреля 2011

Вы можете остановить распространение события для дочерних узлов следующим образом:

$('table.data td a').click(function(evt){
  evt.stopPropagation();
  [.. Do other stuff ..]
});

jquery stopPropagation () Предотвращает всплытие события в дереве DOM, предотвращая любоеродительские обработчики получают уведомление о событии.

...