android - 如何在一个 html 文件中对多个 data-role=page 使用 pageinit

标签 android jquery jquery-mobile cordova page-init

我的一个 html 文件中有多个页面。 我尝试在第二个 data-role="page"上实现 pageinit 事件处理程序。 所以我在它的特定 data-role="page"中声明了 pageinit。

 <div data-role="page"  id="foo3" data-dom-cache="false">
<script>
    $(document).on('pageinit','#foo3' , function(){ 
    abcsong_file_path = '/android_asset/www/audio/abcsong.mp3';


        my_abc = new Media(abcsong_file_path);

        my_abc.play();
        var i =0;
        var time;
        function my_loop(){
        setTimeout(function (){


            var my_alphabets = ["a","b","c","d","e","f","g","h","i","j","k","l","m","n","o","p","q","r","s","t","u","v","w","x","y","z"];
            $('#content_loop2').append('<img src="img/alphabets/'+my_alphabets[i]+'.png" />');
            i++;
            time = 700;

                if(i<26)
                {
                    my_loop();
                }

            }, time)
        }
        my_loop();
    });
</script>
    <div data-role="header" data-theme="b">

        </div>
        <div data-role="content" >

            <div id="content_loop2"  data-inset="true">

            </div>
        </div>
        <div data-role="footer" >

        </div>
    </div>

我期望的是每次我访问此页面时它都会初始化。但只有在我第一次打开它时它才能正确运行。每隔一次,它只显示先前执行的代码的输出。

请帮我解决这个问题。

最佳答案

<强> Pageinit 应该只运行一次,它就像文档就绪一样。

如果您希望每次访问页面时都运行代码,请使用 pageshow pagebeforeshow

了解更多信息 here

关于android - 如何在一个 html 文件中对多个 data-role=page 使用 pageinit,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17693035/

相关文章:

Android 在下次应用加载时注销广播接收器

Sonar 分析期间未找到 Android 类

jquery - 展开可折叠时向下滑动内容

android - 最近完成的 Activity 从(推送通知)Android 中的最近任务重新打开

php - 格式化 Json 数组 php

javascript - 如何修复 Internet Explorer 中的“"Error: Object doesn' t support this property or method”javascript 错误?

javascript - 如何仅在 jquery 数据表中删除子行?

javascript - JQuery如何区分具有选项选定属性的选择选项和不具有选定值的选择

jquery - 如何动态构建 ListView JQueryMobile

jquery-mobile - 如何使用 knockout.js 正确绑定(bind)和初始化 jQuery Mobile 范围 slider ?