JQuery切换滑出选项卡,然后单击外部关闭

时间:2012-10-19 10:43:21

标签: jquery menu click

我对此脚本有疑问: http://jsfiddle.net/bZw83/

如果选项卡内部发生单击,则切换在屏幕内外输入语言的选项卡。 现在我卡住了,我试着编写一个功能,如果点击位于标签之外,可以将标签切换出屏幕,如

$('html').click(function() {...});

但我无法排除标签区域触发事件。 我尝试使用event.stopPropagation(),但我无法实现目标: - /

有人可以帮我解决这个问题吗?

非常感谢

3 个答案:

答案 0 :(得分:4)

您可以为文档创建处理程序,然后检查它是否为#navigation或它的子项。

Seee:http://jsfiddle.net/bZw83/1/

$(document).click(function(e) {
    $target = $(e.target);
    var is = $target.is('#navigation');
    var isChild = $target.parents('#navigation').length;

    if(!(is) && !(isChild)) {
        $('a', $(this)).stop().animate({
            'marginLeft': '-44px'
        }, 200);
        stato = "chiuso";
    }
});

答案 1 :(得分:0)

做这样的事情

 $(document).click(function(e) {
    if($(e.target).parents("*").andSelf().is('#navigation')==false)
    {
       //your code here
    }
});

答案 2 :(得分:0)

您可以通过处理文档的click事件来完成此操作,如下所示:

$(document).click(function() {
   $('a',$(this)).stop().animate({'marginLeft':'-44px'},200);
   stato="chiuso";
});

见工作demo