1

我有这个脚本的问题:http: //jsfiddle.net/bZw83/

如果在选项卡内发生单击,它会在选项卡内切换带有语言选择的选项卡。现在我被卡住了,我尝试编写一个函数,如果单击在选项卡之外,则将选项卡切换到屏幕之外,例如

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

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

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

非常感谢你

4

3 回答 3

4

您可以为文档创建一个处理程序,然后检查它是#navigation 还是它的子级。

见: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";
    }
});
于 2012-10-19T10:50:04.153 回答
0

做这样的事情

 $(document).click(function(e) {
    if($(e.target).parents("*").andSelf().is('#navigation')==false)
    {
       //your code here
    }
});
于 2012-10-19T10:52:01.720 回答
0

您可以通过处理文档的点击事件来做到这一点,如下所示:

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

查看工作演示

于 2012-10-19T10:53:48.333 回答