2016-07-27 48 views
1

在Jquery Mobile应用程序中,我遇到了仅在iPhone 5设备上出现的问题。其他iPhone版本(至少5以上)和所有其他平台没有问题。 在页面内我有一个对话框。在对话框中有几个选择。 当点击确定按钮或取消按钮(tsBtnOK,tsBtnCancel)时,选择宽度id'transJobType'进入焦点并等待用户选择,执行停止。 tbBtnOK的代码永远不会执行。没有代码在tsBtnOK上运行也会发生同样的情况。选择焦点并阻止iPhone 5上的进一步执行

我曾尝试:

  • 数据菜单本地假/真没有什么区别
  • 数据防止对焦变焦,假/真没有什么区别
  • 编码集中到tsBtnOK,没有差异

请记住,这只发生在iPhone 5平台上,但在我测试过的所有(3+)iPhone 5设备上保持一致。

看起来,当两个面板:'transWorkTypeDiv'和'transDescriptionDiv'被隐藏时,它的作用就在于选择仍然很快显示,但tsBtnOK上的代码被执行并且完成时对话框关闭。

注意,标记是一个ASPX页面的一部分,因此多数民众赞成在 <%= GetLocalResourceObject ...>标签

任何提示或想法将是真正的原因十分赞赏

<div data-role="popup" id="tsTransDialog" data-overlay-theme="a" data-transition="flip" data-position-to="window" data-theme="<%=global_asax.JQMTheme%>" class="ui-corner-all"> 
      <div data-role="header" data-theme="a" class="ui-corner-top"> 
       <h1><%=GetLocalResourceObject("TimesheetTransDiaHeader") %></h1> 
      </div> 
      <div data-role="content" data-theme="d" class="ui-corner-bottom ui-content"> 
       <div id="tsTransDialogFields"> 
        <div id="divWorkSelect" class="jobOnly ui-field-contain"> 
         <label for="transJobType"><%=GetLocalResourceObject("TimesheetJobType") %></label> 
         <select name="transJobType" data-mini="true" data-native-menu="true" data-prevent-focus-zoom="true" onchange="tsOpenJobPicker();" id="transJobType"> 
         </select> 
        </div> 
        <div class="jobOnly" data-role="fieldcontain"> 
         <label for="transJobNo"><%=GetLocalResourceObject("TimesheetJobNo") %></label> 
         <div> 
          <input type="text" data-inline="true" id="transJobNo" placeholder="<%=GetLocalResourceObject("TimesheetExampleJobNo") %>" /> 
          <div style="position: absolute; top: 25px; right: -4px"> 
           <a href="javascript:tsOpenJobPicker();" data-role="button" data-inline="true" data-mini="true" data-iconpos="notext" data-icon="search"></a> 
          </div> 
         </div> 
        </div> 
        <div id="transStartTimeDiv" data-role="fieldcontain"> 
         <label for="transStartTime"><%=GetLocalResourceObject("TimesheetStartTime") %></label> 
         <input type="text" data-inline="true" id="transStartTime" placeholder="<%=GetLocalResourceObject("TimesheetExampleTime") %>13:05" /> 
        </div> 
        <div id="transStopTimeDiv" data-role="fieldcontain"> 
         <label for="transStopTime"><%=GetLocalResourceObject("TimesheetStopTime") %></label> 
         <input type="text" data-inline="true" id="transStopTime" placeholder="<%=GetLocalResourceObject("TimesheetExampleTime") %>14:55" /> 
        </div> 
        <div id="transHoursDiv" data-role="fieldcontain"> 
         <label for="transHours"><%=GetLocalResourceObject("TimesheetHours") %></label> 
         <input type="text" data-inline="true" id="transHours" placeholder="<%=GetLocalResourceObject("TimesheetExampleTime") %> 2,5" /> 
        </div> 
        <div id="transWorkTypeDiv" data-role="fieldcontain"> 
         <label for="selectTransWorkType"><%=GetLocalResourceObject("TimesheetWorkType") %></label> 
         <select name="selectTransWorkType" data-mini="true" data-native-menu="true" data-prevent-focus-zoom="true" id="selectTransWorkType"></select> 
        </div> 
        <div id="transDescriptionDiv"> 
         <div id="transDescriptionDiv1" data-role="fieldcontain"> 
          <label for="transDescription1"><%=GetLocalResourceObject("TimesheetTransDescription1") %></label> 
          <input type="text" data-inline="true" data-mini="true" id="transDescription1" name="transDescription1" /> 
         </div> 
         <div id="transDescriptionDiv2" data-role="fieldcontain"> 
          <label for="transDescription2"><%=GetLocalResourceObject("TimesheetTransDescription2") %></label> 
          <input type="text" data-inline="true" data-mini="true" id="transDescription2" name="transDescription2" /> 
         </div> 
        </div> 
       </div> 
       <a id="tsBtnOK" href="javascript:tsTransInsert();" data-role="button" data-mini="true" data-inline="true" data-theme="<%=global_asax.JQMTheme%>"><%=GetLocalResourceObject("TimesheetTransUpdate") %></a> 
       <a id="tsBtnCancel" href="#" data-role="button" data-rel="back" data-mini="true" data-inline="true" data-theme="<%=global_asax.JQMTheme%>"><%=GetLocalResourceObject("Cancel") %></a> 
      </div> 
     </div> 

回答

0

最后找到了解决方案,这绝不是逻辑,但我会回答我自己的问题,以防其他人发现自己处于相同的情况,并偶然发现这一点。 我将对话框tsTransDialog作为共享对话框移出页面,并在启动时启动它。 它使问题消失。