2013-07-11 13 views
0

我在菜單面板上有幾個菜單按鈕。每個按鈕打開一個css:box(100px 100px) 現在,當我點擊一個盒子時,它會打開,當我點擊另一個盒子時,我希望那個盒子打開前一個盒子,同時關閉。如何關閉jquery中的目標事件?

$(document).ready(function(){ 
    //this is click anywhere function 
    $(document).click(function(e) { 
    var target = e.target; 

    if (!$(target).is('li.faq')) { 
     $('#faq_container').hide(); 
    } 
    }); 
    }); 

有沒有一種通用的方法可以實現這一目標?而不是檢查類中的元素是否打開然後選擇性地關閉?我已經使用$('html')。click()函數,但它甚至在我打開它之前關閉框!

回答

0

創建一個函數,重置菜單狀態並在點擊處理程序開始時調用它。

喜歡的東西

function clear(){ 
    $('#faq_container').hide(); 
    //hide everything else here 
} 

然後就清楚()打開新的CSS盒子前。