0

我有一个带有 jquery 的工作 html 页面,其中一个功能不起作用:

在主页上隐藏两个 div('containerSW' 和 'containershort')后,我打开了一个 div('containerprC')。

我现在想要的是,当我仅在 div外部单击时 ('containerprC') 淡出,并且隐藏的 div 淡入。

这是脚本:

$(document).on('mouseup', function(e) {
if (!$(e.target).is('#containerprC') && !$(e.target).parents().is('#containerprC')) {

    $('#containerprC').fadeOut("slow");
    $('#containerSW').fadeIn('slow');
    $('#containershort').fadeIn('slow');
}
});

淡出和淡入工作正常,但是如果我单击页面上的任何位置,包括containerprC 内部,它们就会发生。

所以这意味着第一行 (if (!$(e.target).is) 不能正常工作。我怎样才能让它工作?非常感谢。

4

1 回答 1

0

你的第二个条件是错误的。但是您可以为此更改整个条件:

if (!$(e.target).is('#containerprC, #containerprC *')) 

它将检查目标是否是div它的孩子或其中之一。

于 2013-09-20T15:24:02.120 回答