我是 JQuery Mobile 的新手,我正在尝试根据用户选择显示带有 JqPlot 图形的页面。
我今天早上阅读并实验,通过设计,通过单击链接显示/加载的页面的 javascript 代码不会执行。
为了考虑加载页面的JS脚本,data-ajax
链接的数据属性必须设置为false。但是在这种情况下,浏览器会重新加载所有页面,对于用户来说并不是平滑过渡。
<p><a href="myUrl.php" data-ajax= "false" data-transition="slideup" data-role="button" data-theme="c">
我找到了解决方法,但我需要对我的代码进行专家审查。思路是pageshow
在图表容器页面上声明一个事件,通过JQuery函数#page-detail
加载图表创建页面。.load()
通过这种方式,我能够:
- 顺利过渡到我的页面
- 有一个加载 div 我的图表将被加载
- 当数据加载和 JqPlot 图准备好时渲染我的图
我的代码:
$(document).on('pageshow','#page-detail',function(){
//Apply a loading layer to the graph container
$('#graph-container').html("<div id='graph-loading-layer' class='loading loading-col2a'>"+g_graphLoadingText+"</div>");
//Load my graphic page creation. In this page, there are JS code to create the JQplot graphic
$('#graph-container').load(g_baseUrl+"index/graph/format/html",{chartHeight : newHeight+'px'},function(response, status, xhr) {
console.log('loaded')
});
});
我上面的解决方案很痛苦,我确信我可以轻松加载我的图表是否有人有更好的解决方案?更好的代码实现?