jQuery动态地将外部文件加载到静态弹出窗口中

时间:2013-06-06 09:25:41

标签: jquery jquery-mobile popup load external

通过加载外部文件打开弹出窗口我遇到了麻烦。它的前两次很棒。在第三次,即使文件可用,我也会收到“找不到文件”错误。 (这是一个Mobile WebApp,我在Safari / jQueryMobile上试用它。)

我的代码来了:

$(document).on("pageinit", '#pageContainer', function() {
 $.mobile.allowCrossDomainPages = true;
     $("a", "#list").click(function (event, ui) {
      var attr = $(this).attr('id');
  var name = attr.replace ('linkID','');
      $("#singleSwipe_popup").load('dynamic/' + name + '.html', function() {
   $(".singlePopup" ).on({
        popupbeforeposition: function() {
    // init Swipe-Slider ... on global var singleSwipeSlider ... Works ...
    }, popupafterclose: function() {
     delete singleSwipeSlider;  // destroy the swipe slider
     $('#singleSwipe_popup').empty();  // clean popup content
       }
   });
  });
 });
});

HTML:

<div id="prodPopupsConainter">
 <div data-role="popup" class="singlePopup ui-corner-none" id="popupSingle" data-overlay-theme="b">
 <a href="#" data-rel="back" data-role="button" data-theme="a" data-icon="delete"     data-iconpos="notext" class="ui-btn-left">Close</a>
 <div id="singleswipe-left" class="swipe-left"></div>
 <div class="wrapAndFloat" id="singleSwipe_popup">
 <!-- POPUP content comes here -->
</div>
 <div id="singleswipe-right" class="swipe-right"></div>
</div>          
</div>

.... 如果没有弹出窗口的html代码和“$("#prodPopupsConainter").load ...”,则动态加载效果很好。

有人能给我一个解决方案吗?

1 个答案:

答案 0 :(得分:0)

通过更新jQuery 1.9.1,jQueryMobile 1.3.1和Phonegap到版本2.8.0解决了问题。