jquery - 使用 pagecontainer 导航到外部页面时未触发事件

标签 jquery html ajax jquery-mobile cordova

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 Mobile 页面处理的工作原理,但您无法解决这个问题。

当 jQuery Mobile 处理页面时,仅首先将 HTML 文件完全加载到 DOM 中,所有中间文件仅部分加载。当我说部分时,我的意思是 HEAD 将被剥离,并且仅加载第一个 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 + 解决方案。

关于jquery - 使用 pagecontainer 导航到外部页面时未触发事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23844840/

相关文章:

css - 如何将来自 ajax 查询的固定 CSS 文本添加到 Angular 2 应用程序?

php - jQuery BlockUI 脚本上的重复区域无法工作

javascript - 如何从 FileReader() 获取路径目录?

jquery - 为什么导航菜单栏滑动不流畅?

javascript - 使用 jQuery each() 函数在页面上播放多个视频

javascript - 如何标记链接,使用 javascript 处理为已访问?

javascript - 根据选择输入框隐藏一个div

javascript - 获取表行中多个值的总数

c# - 使用 AJAX 与标准时,搜索表单的显示方式不同

javascript - 如何将 html 从当前页面附加到另一个页面?