2013-08-18 54 views
0

我試圖實現一個mouseup函數,如果我點擊容器外的任何地方,就會發生一個函數。見下面的腳本。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'); 
    } 
}); 
}); 

希望這會有所幫助,謝謝