jQuery событие клика для документа, но игнорировать div - PullRequest
8 голосов
/ 10 февраля 2009

У меня есть онлайн-слайд-шоу, над которым я работаю с использованием jQuery. Я использовал событие $ (document) .click, чтобы определить, когда пользователь нажимает на страницу, чтобы узнать, когда показывать следующую точку маркера на слайде или переходить на следующую страницу.

Проблема, с которой я столкнулся, заключается в том, что моя работа заставляла меня вставлять поле комментария внизу страницы, и когда кто-либо нажимал на поле комментария или кнопку сохранения комментария, оно также запускало событие щелчка для страницы.

Есть ли способ, которым я могу иметь событие click для всей страницы, но игнорировать его, когда кто-то щелкает в DIV, в поле «Комментарий» / «Сохранить»?

1 Ответ

16 голосов
/ 10 февраля 2009

Скорее всего, вам нужно остановить распространение событий в вашем разделе комментариев, используя метод объекта stopPropagation():

$('#comments').click(function(e) {
  e.stopPropagation();
});

, если это не сработает, попробуйте использовать preventDefault():

e.preventDefault();
...