JQuery селектор должен выбрать область без элемента, который находится в этой области - PullRequest
1 голос
/ 07 мая 2011

Я использую событие jquery click для div, и у области div есть элемент input. Поскольку элемент ввода находится в элементе div, при нажатии кнопки ввода функция click работает, но я не хочу этого действия. Я посмотрел страницу выбора на веб-сайте Jquery, но не смог найти этот селектор. Как я могу это сделать?

1 Ответ

1 голос
/ 07 мая 2011

Используйте свойство nodeName исходного элемента , чтобы увидеть, где произошло событие:

$('#myDiv').click(function(event) {
    if (event.target.nodeName.toLowerCase() === 'input') {
        return; // ignore the event if it originated on an input element
    }

    // do the rest of your code
});

Если вы хотите более сложный запрос (напримериспользуя псевдоселекторы jQuery), вы можете использовать is:

$('#myDiv').click(function(event) {
    if ($(event.target).is('input[name="foo"]')) {
        return; // ignore the event if it originated on an input element with the name foo
    }

    // do the rest of your code
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...