【问题标题】:Event is not firing while navigating to external page using pagecontainer使用 pagecontainer 导航到外部页面时未触发事件
【发布时间】:2014-05-24 12:07:02
【问题描述】:

Html 1:第一页

<script src="js/jquery-1.9.1.min.js"></script>
<script>
        $(document).bind("mobileinit", function(){
            $.mobile.defaultPageTransition = "slide";
            $.mobile.linkBindingEnabled =true;
            $.mobile.ajaxEnabled= false;
        });            
</script>
<script src="js/jquery-mobile.1.4.2.min.js"></script>
<script>
  $(document).on("pagecreate",function(){
    $(".anchor").click(function(){
       $( ":mobile-pagecontainer" ).pagecontainer( "change", "second.html" , { transition:"pop"});
     });       
 });
</script>

Html 2:第二页

<script src="js/jquery-1.9.1.min.js"></script>
<script>
        $(document).bind("mobileinit", function(){
            $.mobile.defaultPageTransition = "slide";
            $.mobile.linkBindingEnabled =true;
            $.mobile.ajaxEnabled= false;
        });            
</script>
<script src="js/jquery-mobile.1.4.2.min.js"></script>
<script>
  $(document).on("pagecreate",function(){

    alert("Instead of alert im going to use ajax ");
 });

问题:

我尝试使用 pagecontainer 将页面从第一页更改为第二页,它工作正常。 问题是
我需要使用ajax和pagecreate在第二页中加载一些内容,pageshow在更改页面时没有任何工作但是如果我单独运行第二页它正在工作...... 提前致谢

【问题讨论】:

    标签: jquery html ajax jquery-mobile cordova


    【解决方案1】:

    要解决这个问题,你需要了解 jQuery Mobile 页面处理是如何工作的,而你无法解决这个问题。

    当 jQuery Mobile 仅处理页面时,第一个 HTML 文件完全加载到 DOM 中,所有中间文件仅部分加载。当我说部分时,我的意思是 HEAD 将被剥离,只有 FIRST data-role="page" 将被加载。

    因此,如果您有 2 个页面,例如,假设第一个页面称为 ma​​in.html,第二个页面称为 second.html,而 lats 则说这两个页面hava 5 data-role="page" div 容器。

    ma​​in.html 中的所有页面都会在应用初始化期间加载到 DOM 中,但是当您将页面更改为 second.html 时,只有第一个 data- role="page" div 容器将被加载到 DOM 中,其他所有内容都将被丢弃。

    了解更多信息here + 解决方案。

    【讨论】:

    • +1 给出了简短的解释谢谢你..但很抱歉问这个问题因为我需要解决这个..有没有办法从 DOM 清除第一页内容然后重定向到第二页
    • 这样做的唯一方法是关闭 AJAX 页面处理。它可以通过 mobileinit 事件,在你的标签链接中使用 rel="external" 或者通过添加 reload : true 到 pagecontainer( "change", .... function
    • 似乎 reload: true 仍然有问题。 github.com/jquery/jquery-mobile/issues/7406
    • 我认为不会改变; jQuery Mobile 是一个死框架
    猜你喜欢
    • 1970-01-01
    • 2014-10-12
    • 1970-01-01
    • 1970-01-01
    • 2017-01-16
    • 2021-07-25
    • 1970-01-01
    • 1970-01-01
    • 2011-12-20
    相关资源
    最近更新 更多