除了某个div及其所有元素之外的所有元素的JQuery + Bind事件

时间:2013-11-26 10:06:58

标签: jquery

我需要为所有元素绑定mouseover,mouseout和click事件,但除了某个Div及其子元素之外。

<html>
    <head></head>
    <body>
        <div>
        <!-- page content goes here -->
        </div>
        <div class="popup">Popup content goes here</div>
    </body>
</html>

我可以绑定所有元素的事件,如下所示。

$(document).ready(function () {
    $(this).find("body *").mouseover(function(e){
        // do something
    }).mouseout(function(e){
        // do something
    }).click(function(e){
        // do something
    });
});

我尝试了几种方法来忽略“.popup”div的内容。但它没有成功。

感谢您的解决方案。谢谢!

2 个答案:

答案 0 :(得分:1)

$(this).find("body *").not(".popup").mouseover(function(e){
        // do something
    }).mouseout(function(e){
        // do something
    }).click(function(e){
        // do something
    });

但您必须在文档准备中尝试以下代码 $(this) 无法正常工作

$(document).ready(function () {
    $("body *").not(".popup").mouseover(function(e){
            // do something
        }).mouseout(function(e){
            // do something
        }).click(function(e){
            // do something
        });
});

参考 .not()

答案 1 :(得分:0)

尝试:

    $(document).ready(function () {
    $(this).find("body *").not(':has(> .yourclassyoudontwant)').mouseover(function(e){
        // do something
    }).mouseout(function(e){
        // do something
    }).click(function(e){
        // do something
    });
});