3

当我单击 body 时,我想在循环中显示不同的元素,除了 element #search-container form。它有效,但前提是我首先单击元素#search-container form,并且它只有效一次。

$('html').click(function(event) {
    $('#search-container form').click(function(event){
        event.stopPropagation();
    });
    $('html').on('click',function() {
        $('#small-search a').toggleClass('notvisible');
        $('#session').toggleClass('notvisible');
        $('#search-container').css('position','absolute');
        $('#search-container form').toggleClass('visible');
    });
});
4

2 回答 2

4
$('html').not("#search-container form").on('click',function(){
    $('#small-search a').toggleClass('notvisible');
    $('#session').toggleClass('notvisible');
    $('#search-container').css('position','absolute');
    $('#search-container form').toggleClass('visible');
});
于 2013-04-18T15:45:33.383 回答
0

用于.not()从将单击事件绑定到的 jQuery 对象中删除元素:

$('html').not("#search-container form").on('click',function(){
    $('#small-search a').toggleClass('notvisible');
    $('#session').toggleClass('notvisible');
    $('#search-container').css('position','absolute');
    $('#search-container form').toggleClass('visible');
});

来源

jQuery API - .not()

于 2013-04-18T15:52:00.363 回答