2013-08-18 4 views
0

Я пытаюсь реализовать функцию mouseup, где, если я нажимаю где-нибудь вне контейнера, возникает функция. См. Скрипт ниже.Функция mouseup при нажатии за пределами div

Функция работает хорошо, но это происходит, если я нажимаю в любом месте страницы.

Я пытаюсь создать условие «если», если щелчок мыши находится внутри любого контейнера, задействованного в функции, или любого из их потомков, функция 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'); 
    }); 
} 
}); 
+0

сделать jsfiddle? – twinlakes

ответ

0

Demo Попробуйте

$(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'); 
    } 
}); 
}); 

Надеется, что это помогает, спасибо