2014-11-21 35 views
0

我已經實現了一些可以在桌面上運行的代碼,但是在移動設備中,它並不像預期的那樣工作。 在手機中,當你點擊一個div時,它應該切換到打開內容。但是,它會打開它,然後自動關閉它,以便用戶不會看到內容。 這是我到目前爲止有:jquery在手機中自動打開和關閉

$(document).on('click touchstart', '.contact_Style h2.general_Click', function() { 
    $(this).next().toggle('slow'); 
}); 

<h2 class="general_Click">Search </h2> 
<div id="search">The Content</div> 

任何幫助,將不勝感激。

回答

2

只是綁定到click,因爲手機瀏覽器觸發它的觸感,讓你得到2個回撥電話(這打開,然後關閉內容)。

你可以閱讀有關此問題的here

+0

雖然我很欣賞你的答案,但我不知道如何將它應用於我的特定場景。 – 2014-11-21 12:05:07

+0

而是結合'點擊touchstart'事件,只能使用'click',所以你會得到這樣的:'$(文件)。在( '點擊', '.contact_Style h2.general_Click',...' – Zudwa 2014-11-21 12:09:50

+0

我'一個白癡..謝謝大聲笑 – 2014-11-21 12:12:15

0

我已經在你的代碼做了一個小的修正。 默認情況下,您首先需要隱藏您的內容div。在樣式文件 補充一點:

#search{display: none} 

然後嘗試使用這個js代碼

<script type="text/javascript"> 
    $(document).on('click', 'h2.general_Click', function() { 
     $(this).next().toggle('slow'); 
    }); 
</script> 

你的HTML是因爲它是:

<h2 class="general_Click">Search </h2> 

<div id="search">The Content</div> 
+0

#搜索已默認設置爲none!:) – 2014-11-21 12:01:22

0

在我的情況下,選擇「H2 .general_Click「創建了2次(請檢查您的查看源),這就是爲什麼它要撥打2次並自動關閉的原因

請檢查您的視圖源代碼,您的選擇器不重複。 如果正在重複,請選擇一個不在您的網頁中重複的扇區。