2015-05-11 60 views
-2

當鏈接(.account)被按下時,下拉菜單出現。但是我無法搞清楚如何讓下拉停留下來時積極密切下拉保持元素打開,在其他地方點擊時關閉

 $(".account").click(function(e){ 

      e.stopPropagation(); 

      var oBody = $("body") 
       oButton = $(".account") 

      if (oBody.hasClass("open-says-me") & oButton.hasClass("active")) 
      { 
       oBody.removeClass("open-says-me"); 
       oButton.removeClass("active"); 

       jQuery(document).off("touchstart click"); 

      } else { 

       oBody.addClass("open-says-me"); 
       oButton.addClass("active"); 


       jQuery('html').on("touchstart click", function() { 
         oBody.removeClass("open-says-me"); 
         oButton.removeClass("active"); 
        }); 
      } 

     }); 

我如何得到它留下來打開和關閉以外的任何地方按下時才只有當用戶點擊/觸摸下拉以外的任何地方。
與我的實際代碼,當我點擊按鈕與.account - >面板打開 - >單擊它關閉文檔上的任何地方。
但是它甚至會關閉,如果你點擊/觸摸面板本身,這是不是我想要的,我試圖得到它,所以當你點擊任何地方,但它的下拉關閉。感謝幫助。

+2

當前代碼有什麼問題?究竟發生了什麼? – Random

+0

使用.account單擊按鈕 - >面板打開 - >單擊關閉文檔上的任意位置。 但是,如果您點擊/觸摸面板本身,它甚至會關閉。這不是我想要的,即時通訊試圖獲得它,所以當你點擊任何地方,但下拉它關閉 –

+0

好的。請用您的其他信息編輯問題,這將更加清晰。 – Random

回答

0

看到這個帖子:jQuery: Stop dropdown menu from collapsing when clicking on its children
,如果你有這樣的DOM:

<ul class="dropdown"> 
<li><a href="#" class="noclick nojs">Select your Topic</a> 
    <ul class="nojs" > 
    <li><a href="#">Link 1</a></li> 
    <li><a href="#">Link 2</a></li> 
    <li><a href="#">Link 3</a></li> 
    </ul> 
</li> 
</ul> 

您必須添加以下代碼:

$('ul.nojs *').click(function(e){ 
    e.stopPropagation(); 
});​ 

看起來像.account你用的是像.dropdown另一篇文章。試試這個,如果你不能使它工作,請在你的問題中發佈你的DOM。

相關問題