Использование Jquery Selector не - PullRequest
2 голосов
/ 04 января 2012

У меня есть div с именем класса ".modalPopup" внутри div. У меня есть несколько таблиц и внутри таблицы. У меня есть div и внутри нескольких элементов управления, таких как текстовое поле (вход) и выпадающие списки (выбор).

Я хочу, чтобы я запускал событие click, когда пользователь щелкает в любом месте основного div, у которого есть «modalPopup», кроме выпадающего списка (выберите). Я пытаюсь использовать свои параметры, но не могу получить конкретное событие клика. как

  $('.modalPopup :not(modalPopup select)').click(function(){
    document.write("working for click except select ");
    });

любой, пожалуйста, предоставьте мне решение.

Ответы [ 2 ]

0 голосов
/ 04 января 2012

Самый простой способ - просто связать событие щелчка на элементе div с классом modalPopup, а затем проверить, что пользователь фактически нажал, используя e.target:

$('.modalPopup').click(function(e){
    if (!$(e.target).is('select')) {
        document.write("working for click except select ");
    }
});

e.target - элемент dom, по которому щелкнули. $(e.target).is('select') получает этот элемент dom и создает из него объект jQuery и проверяет, является ли он элементом выбора.

Пример JSFiddle

0 голосов
/ 04 января 2012

Вам не хватает точки перед .modalPopup в состоянии not ().

$('.modalPopup :not(.modalPopup select)').click(function(){ document.write("working for click except select "); });
...