Вопрос по jquery, css – jquery выбрать все элементы, кроме div и его дочерних элементов

7

У меня есть этот HTML / CSS код:

<body>
        <!-- BEGIN: HEADER AREA -->
        <?php require("snippets/header_area.php"); ?>
        <!-- END: HEADER AREA -->
        <div id = "presentation_area">
            <div id = "submenu_area">
                <div id = "sliding_menu_area">
                </div>
                <div id = "tags">
                    <div id = "1">
                        <img src = "lang/el/images/1.png" />
                    </div>
                    <div id = "2">
                        <img src = "lang/el/images/2.png" />
                    </div>
                    <div id = "3">
                        <img src = "lang/el/images/3.png" />
                    </div>
                    <div id = "4">
                        <img src = "lang/el/images/4.png" />
                    </div>
                </div>
            </div>
        </div>
    </body>

Я пытаюсь вызвать функцию, когда пользователь нажимает на все остальное, кроме#sub_menu_area, Я использую следующую часть JS:

$('*').not('#submenu_area').click(function(){
        if(slide == "open"){
            $('#sliding_menu_area').toggle(effect);
            slide = "close";
        }
    });

К сожалению, дети как-то не исключены, и по клику это переключается много раз. Кто-нибудь знает, как это сделать правильно ?! :)

EDIT: Итак, что мне нужно, это селектор jquery, чтобы получить правильно:on click of all elements of body EXCEPT for #submenu_area and its descendants.

Error: User Rate Limit Exceeded$(this)? Dimitris Damilos
Error: User Rate Limit Exceededon click of all elements of body EXCEPT for #submenu_area and its descendantsError: User Rate Limit Exceeded Dimitris Damilos
Error: User Rate Limit Exceededno effectError: User Rate Limit Exceededsubmenu_areaError: User Rate Limit Exceeded veeTrain
Error: User Rate Limit Exceeded$(this)Error: User Rate Limit Exceeded veeTrain

Ваш Ответ

2   ответа
17

Error: User Rate Limit Exceeded

$(document).click(function(e) {
        if ($(e.target).is('#submenu_area, #submenu_area *')) {
            return;
        }
        if(slide == "open"){
            $('#sliding_menu_area').toggle(effect);
            slide = "close";
        }
    });
Error: User Rate Limit Exceeded Dimitris Damilos
Error: User Rate Limit Exceeded
4

Error: User Rate Limit Exceeded

$('*').not("#submenu_area *").click(function() { ... });
Error: User Rate Limit ExceededonlyError: User Rate Limit Exceeded#submenu_areaError: User Rate Limit Exceeded
Error: User Rate Limit Exceeded Dimitris Damilos
Error: User Rate Limit Exceeded$('* :not(#submenu_area)')Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded Dimitris Damilos
Error: User Rate Limit Exceeded

Похожие вопросы