1

除非我点击刷新,否则滚动条不会加载。我认为这可以使用 jQuery Mobile 的pageinit. 这是我尝试过的:

$('#summaryPage').live('pageinit', function(){
$.getScript('cubiq-iscroll-bad88fb/src/iscroll.js');
});

没有骰子。有任何想法吗?

4

4 回答 4

2
var jsonp = document.createElement("script");
            jsonp.type = "text/javascript";
            jsonp.src = "cubiq-iscroll-bad88fb/src/iscroll.js";
            document.getElementsByTagName("body")[0].appendChild(jsonp);

这应该可以正常工作。如果 .js 工作没有错误。希望这会有所帮助。

于 2012-12-18T11:16:37.143 回答
1

因为 .live 将被弃用,你也可以

$(document).on('pageinit', '#summaryPage', function(){
    //append head element and custom script 
});

也可能是你加载脚本太晚了,如果我是你,我会在文档和/或设备准备好后立即执行,然后在页面初始化时检查元素是否存在,如果不存在,触发创建。您还可以在 jquery 移动 API 中收听一些事件,例如 pagebeforecreate

或者更好的是仍然将代码放在没有名称的全局函数中:

function(){
//append your script here  
}

您可以在 API 中阅读 jquery.com 上的文档

于 2012-12-14T15:17:15.067 回答
1

你可以试试:

<script>
$('#summaryPage').live('pageinit', function(){
   var oHead = document.getElementsByTagName('HEAD').item(0);
   var oScript= document.createElement("script");
   oScript.type = "text/javascript";
   oScript.src="other.js";
   oHead.appendChild( oScript);
});
</script>
于 2012-12-14T12:59:53.493 回答
1

Try to run it before page shows:

$('div:jqmData(role="page")').live('pagebeforeshow',function(){
    $.getScript('cubiq-iscroll-bad88fb/src/iscroll.js');
});

jQuery mobile $(document).ready equivalent

于 2012-12-23T04:08:35.343 回答