2013-04-22 104 views
2

jQuery Mobile 1.3.x列表視圖在Internet Explorer 9/10和IE 8手機上呈現不正確的問題。它在Chrome,Safari,iOS上的Safari和IE 9/10上的jQuery Mobile 1.2.1上正確渲染。我在Win7上運行VS 2012,C#,MVC和Razor。列表視圖jQuery Mobile 1.3.x和ASP.NET MVC 4的渲染問題Razor

使用VS 2012重現生成一個帶有Razor的ASP.NET MVC 4移動項目,然後使用NuGet升級到jQuery Mobile 1.3.0或1.3.1。

此代碼在主頁上呈現與列表項和子彈的左邊框之間的額外空間:

<ul data-role="listview" data-inset="true"> 
    <li data-role="list-divider">Navigation</li> 
    <li>@Html.ActionLink("About", "About", "Home")</li> 
    <li>@Html.ActionLink("Contact", "Contact", "Home")</li> 
</ul> 

升級之前: https://dl.dropboxusercontent.com/u/47974701/Capture%20B4.PNG

升級到1.3.0 jQuery Mobile的後: https://dl.dropboxusercontent.com/u/47974701/Capture%20After.PNG

+0

哪個jQuery版本正在使用?對於JQM 1.3,建議使用1.8.2或更高版本。 – Omar 2013-04-22 21:53:44

+0

我正在使用1.9.1,jQuery UI 1.10.1 – JimPiquant 2013-04-22 23:12:57

回答

2

將腳本塊移到HEAD部分可修復此問題。由於其他原因(它出於性能/優化原因在頁面的底部)並不理想,但它解決了IE無法正確初始化的問題。

@Scripts.Render("~/bundles/jquery") 
    <script> 
     $(document).on("mobileinit", function() { 
      $.mobile.ajaxEnabled = false; 
     }); 
    </script> 
    @Scripts.Render("~/bundles/jquerymobile") 
</head> 
+0

修復了它,謝謝!是否需要禁用Ajax?如果可能的話,我想保持漂亮的頁面過渡。 – JimPiquant 2013-04-24 22:32:18

+0

不應要求。這是作爲項目模板的一部分呈現的默認腳本(適用於Visual Studio中的MVC4 Mobile模板)。 – Lou 2013-05-04 10:26:33