Jquery选择除了一个div之外的整个body



我想选择整个身体除了一个div。或者也许有人有更好的主意如何完成我的问题。

我想在"cs-dropdown"上点击切换,然后如果有人点击它在正文的任何地方隐藏它。问题是,"cs-dropdown"是内部的身体后,我打开它与"cs-dropdown"点击我关闭它与身体点击。谢谢你的帮助。

$(".cs-dropdown").click(function () {
        $(".customer-service-dd").toggle();
});

$("body").click(function () {
    if($(".customer-service-dd").is(":visible") == true)
    {
    $(".customer-service-dd").toggle();
    }
});

使用 stopPropagation() 来阻止事件冒泡到body:

$(".cs-dropdown").click(function (ev) {
    ev.stopPropagation();
    $(".customer-service-dd").toggle();
});

我想你需要这样的东西:

如何使用jQuery选择除select元素之外的所有子元素

$('body').not('#theItemYouDontWant');

我只是猜测=)

变化:

$("body").click(function () {
    if($(".customer-service-dd").is(":visible") == true)
    {
    $(".customer-service-dd").toggle();
    }
});

:

$("body").live('click', function () {
    if($(".customer-service-dd").is(":visible") == true)
    {
    $(".customer-service-dd").toggle();
    }
});

您在下拉菜单上的单击向上传播到正文,以便调用两个单击处理程序。您可以使用e.stopPropagation()来阻止事件的传播。这样就不会调用父元素上相同事件的处理程序。在.cs-dropdown点击处理程序中添加e.stopPropagation():

$(".cs-dropdown").click(function (e) {
    e.stopPropagation();
    $(".customer-service-dd").toggle();
});

相关内容

最新更新