0

我正在尝试实现一个 mouseup 函数,如果我单击容器外的任何位置,就会发生一个函数。请参阅下面的脚本。

该功能运行良好,但如果我单击页面上的任何位置,就会发生这种情况。

我正在尝试创建一个“if”条件,如果鼠标单击在函数所涉及的任一容器或其任何后代内,则不会发生 mouseup 函数。

谁能告诉我为什么它不能正常工作?非常感谢..

剧本:

$(document).mouseup(function (e)
{
var container = $('#containerprA');
var containerSW = $('#containerSW');


if (!container.is(e.target) // if the target of the click isn't the container...
    && container.has(e.target).length === 0); // ... nor a descendant of the container

if (!containerSW.is(e.target) // if the target of the click isn't the container...
    && containerSW.has(e.target).length === 0) // ... nor a descendant of the container

{
        container.fadeOut('slow',function(){
        containerSW.fadeIn('slow');
    });
}
});
4

1 回答 1

0

Demo Try this

$(document).ready(function(){
$('#containerSW').hide();
$(document).on('mouseup', function(e) {
    if (!$(e.target).is('#containerprA') && !$(e.target).parents().is('#containerprA')) {

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

Hope this helps, Thank you

于 2013-08-18T16:14:46.097 回答