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

Я хочу выделить все тело, но исключить один элемент, как мне этого добиться?

$("body").not('#to-exclude').mouseup(function(){ 
  // ...
});

не работает.

Ответы [ 2 ]

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

Если вы используете jQuery <1.7, вы должны использовать <a href="http://api.jquery.com/delegate" rel="nofollow">delegate();

$('body').delegate(':not(#to-exclude)', 'mouseup', function () {
    // ...
});

Для jQuery 1.7 и выше, попробуйте использовать метод on();

$('body').on('mouseup', ':not(#to-exclude)', function () {
    // ...
});

Причина, по которой ваш код не работает, заключается в том, что объект jQuery, созданный с помощью $('body'), включает только элемент body. Поэтому not() не может удалить элемент, так как его там нет.

0 голосов
/ 02 декабря 2011

это другой способ.

$("body").mouseup(function(event){
if(event.target.id == "to-exclude"){
return false;
}else{

//do your works here
};

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