我的一个html文件中有多个页面。 我试图在第二个data-role =“page”上实现pageinit事件处理程序。 所以我在其中声明了pageinit的特定data-role =“page”。
<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>
我期望的是每次访问此页面时它都会初始化。但它只在我第一次打开它时正确运行。每隔一次它只显示以前执行的代码的输出。
请帮我解决一下。
答案 0 :(得分:3)
答案 1 :(得分:0)
Pageinit 应该只发射一次,但至少在之前的版本中并不是真正的事实。
我目前正在使用jQM 1.3.2,在Android或桌面浏览器中不再遇到此问题。但要注意它,特别是如果你也使用Phonegap。
Document pageinit fires more than once on iOS (jQueryMobile)