2014-02-27 6 views
0

我正在使用jQuery的移動1.3.1,並動態追加列表元素jQuery面板中的無序列表。我第一次打開面板一切正常,但是當我關閉它並嘗試再次打開它時,它不會顯示。但是我仍然可以點擊屏幕上我知道列表元素在面板中,然後做些事情。該面板只是沒有顯示。如果我點擊列表元素,面板會在關閉和消失之前快速顯示。如果我清空我的無序列表並再次追加列表元素,那麼面板將顯示我何時打開它,但只會再次顯示一次。然而,這只是一個iOS問題,在android上完美運行。所以請幫助,我不明白什麼是錯的。這裏是我的代碼:jQuery的面板與列表視圖只在iOS上打開一次

<script type="text/javascript" src="jsScript/jquery-1.10.1.js"></script> 

<script type="text/javascript" src="jsScript/jquery.mobile-1.3.1.js"></script> 
<link rel="stylesheet" type="text/css" href="cssScript/jquery.mobile-1.4.0.css" /> 

<div id="mainMenu" style="display:none;" > 

<!--Left Panel--> 
<div data-role="panel" id="yourTurnPanel" data-display="overlay" data-theme="a"> 
    <div> 
     <div> 
      <div class="navbar-header" id="yourTurnDiv"> 
       <h4 style="text-align:center;">Your Turn</h4> 
      </div> 
      <ul id="yourTurnList" data-role="listview" > 
      </ul> 
     </div><!--/nav_name--> 
    </div><!--/nav_profile--> 
</div><!-- /panel --> 
</div> 

在這裏,我空的,追加列表

var makeList = function(){ 
$('#yourTurnList').empty(); 
    $('#yourTurnList').append('<li data-rel="close" data-icon="false" data-corners="false" data-shadow="false" data-iconshadow="true" data-wrapperels="div" data-iconpos="right" class="ui-btn"><img src="'+picURL+'" class="ui-li-thumb ui-corner-tl"/> <div> Player <br> Round</div></li>'); 
    } 

// the method that opens the panel 
$("#yourTurn").click(function() { 
    $("#yourTurnPanel").panel("open" , null); // works only once after appending the list elements 
}); 

對不起,醜陋的代碼!

+0

你能製作一個重現問題的小提琴嗎? – ezanker

+0

我不認爲這是可能的,因爲它適用於除iPhone之外的所有內容... –

+0

您可以在iPhone上訪問jsFiddle。所以,做一個小提琴,在iPhone上導航到它,如果它展示了問題,請在你的問題中發表小提琴。 – ezanker

回答

0

我解決了我的問題,將列表元素添加到列表中,並在0.4秒後將其刪除。然後,即使在iPhone上,一切正常。這是一個快速修復,但它的工作!

相關問題