Исключить братьев и сестер на jQuery Events - PullRequest
0 голосов
/ 01 декабря 2011

Я создаю генератор шаблонов, используя hover и click click для добавленных элементов.Короче говоря: когда я щелкаю или наводлю на элемент брата, он запускает все события, начиная с самого глубокого брата и заканчивая «самым высоким» родителем.

Мне удалось найти решение дажехотя я считаю, что это довольно грязно:

var childclicked = false;

$('.container > .column').click(function(event) {
    // do stuff
   childclicked = true;
});

$('.container').click(function(event) {
    // preventing code to be executed
    if(!childclicked) {
        // do stuff
    }
});

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

лучший способ просто исключить братьев и сестер?

1 Ответ

1 голос
/ 01 декабря 2011

Полагаю, вам просто нужно остановить всплытие событий. Вы можете легко добиться этого, либо явно вызвав

event.stopPropagation();

или возвращая false из самого обработчика события. Возвращение ложной бездействия вызывает .stopPropagation() и .preventDefault().

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...