2016-06-21 73 views
0

編輯:事實證明,問題不一定是由於我的代碼。當我點擊導航欄中的鏈接時,它會轉到除Chrome以外的每個瀏覽器上的mobile/folder/page.html。當我點擊chrome中的鏈接時,出於某種原因它會打開到/mobile/#/mobile/folder/page.html,這就是爲什麼它不起作用。如果我直接進入該頁面,它工作正常。有誰知道如何解決這個問題?點擊分區下拉功能不能在iPhone上工作

此代碼適用於所有瀏覽器,適用於Android手機,但不適用於iphone。我曾嘗試添加tap和touch,而不是onClick,切換而不是隱藏並顯示,將onclick添加到css,並添加光標:指向css的指針,但我找不到解決方案。也許我錯了,但我不確定。請幫忙!

https://jsfiddle.net/anthonyparrett7/0bmw79yw/

$(document).ready(function() { 
/* Question and Answer Dropdowns */  
$(".dropdown-link").click(function(e) {   
    e.preventDefault(); 
    var $div = $(this).next('.dropdown-container'); 
    $(".dropdown-container").not($div).hide(); 
    if ($div.is(":visible")) { 
     $div.hide() 
    } else { 
     $div.show(); 
    } 
}); 
$(document).click(function(e){ 
    var p = $(e.target).closest('.dropdown').length 
    if (!p) { 
      $(".dropdown-container").hide(); 
    } 
}); 
}); 
+1

這裏是一個小提琴,希望它有助於https://jsfiddle.net/0bmw79yw/6/ –

+0

不幸的是,這對所有瀏覽器和手機的功能都沒有幫助,但對iPhone沒有幫助。儘管如此,我已經對我的小提琴和代碼進行了修改。感謝那。 –

回答

0

你是不是在頁面加載正確調用函數。

嘗試$(document).ready(function()啓動它,而不是$(document).on("pageinit", "#page-container", function()

看到這個片斷:

$(document).ready(function() { 
 
    $(".dropdown-link").click(function(e) { 
 
    var $div = $(this).next('.dropdown-container'); 
 
    $(".dropdown-container").not($div).hide(); 
 
    if ($div.is(":visible")) { 
 
     $div.hide() 
 
    } else { 
 
     $div.show(); 
 
    } 
 
    }); 
 
    $(document).click(function(e) { 
 
    var p = $(e.target).closest('.dropdown').length 
 
    if (!p) { 
 
     $(".dropdown-container").hide(); 
 
    } 
 
    }); 
 
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div id="dropdown-1" class="dropdown dropdown-processed"> 
 
    <div class="dropdown-link"> 
 
    <h4>What is a Question?</h4> 
 
    </div> 
 
    <div class="dropdown-container" style="display: none;"> 
 
    <p>Bla bla bla blablablabla words Ipsum</p> 
 
    </div> 
 
</div> 
 

 
<div id="dropdown-2" class="dropdown dropdown-processed"> 
 
    <div class="dropdown-link"> 
 
    <h4>What is a Question 2?</h4> 
 
    </div> 
 
    <div class="dropdown-container" style="display: none;"> 
 
    <p>Bla bla bla blablablabla words Ipsum</p> 
 
    </div> 
 
</div>

+0

謝謝,但這與下拉(隱藏/顯示div)功能沒有任何關係。我已經修好了我的小提琴,但現在它正常工作。我更新了我的代碼,但它仍然無法在iPhone上使用。 –

0

你試過simplier喜歡的東西:

$(document).ready(function() { 
    $(".dropdown-link").click(function(e) { 
     $(".dropdown-container").hide(); 
     $(this).next(".dropdown-container").toggle(); 
    }); 
    $(document).click(function(e) { 
     var p = $(e.target).closest('.dropdown').length 
     if (!p) { 
     $(".dropdown-container").hide(); 
     } 
    }); 
    }); 
+0

和演示:https://jsfiddle.net/543z55o8/ – Ninowis

+0

該演示看起來與我的代碼相同。我嘗試了你的答案中的代碼,它根本不起作用。 –

+0

對不起,我忘了保存更新的小提琴,並最終分享了錯誤的代碼...我更新了我的答案和小提琴;-) – Ninowis