2011-06-13 52 views
1

我有一張表單,可以在單擊它時顯示記錄的更多細節。詳細信息位於具有「描述」類的子div中。我已經將曝光切換得很好,但是我想避免在已經暴露的元素上調用click函數(即我不想重新顯示已經顯示的內容)。基於動態分配的類別值跳過點擊功能

我試過.bind和.live沒有運氣。基本上,我希望有一些方法可以讓新的類別分配在DOM中「激活」。

在此先感謝您的幫助!

jQuery的

$(document).ready(function(){ 

     $('#libraryBrowser tbody tr:not(.exposed)').click(function(){ 
      $('.exposed').slideUp('fast');               //hide previously shown element 
      $(this).find('div.description').slideToggle('slow').addClass('exposed');    //show selected item's description, flag exposure 
     }); 

}); 
+0

您是否想要已經暴露過的元素(以及後來可能隱藏的)不能再次暴露的能力?或者也許這是另一回事 - 而且你實際上正在經歷它,而你不想要它? (這是代碼的樣子) – ub1k 2011-06-13 16:47:00

+0

不,他們應該可以重新觸摸。它被應用於表格行 - 當用戶點擊時,他們獲得更多信息。如果他們點擊其他內容,則隱藏前一個元素的「更多」內容,並顯示新行的信息。這個特定的問題是關於如果用戶點擊已經擴展的行,保持重新加載的效果。 – sdowswell 2011-06-16 11:59:37

回答

0

我不想再顯示什麼 已經顯示

您可以使用is:visible過濾器選擇器來查看元素是否已經顯現如果是這樣,你只需要退出功能使用return false這樣的事情:

if ('.yourelementclass').is(':visible')){ 
    return false; 
} 

您需要在實際顯示圖像的代碼之前加入該代碼。

+0

優秀!奇蹟般有效。 – sdowswell 2011-06-13 18:04:15

+0

不客氣 – Sarfraz 2011-06-13 19:24:59

+1

@sdowswell:如果它像魅力一樣工作 - >將答案標記爲接受:) – ub1k 2011-06-16 12:50:11