1、以前错误的加载方法:
<li
<sc
<sc
<sc
这样加载是JQM官方教科书式的加载方式,但是经过测试不成功,原因是TPM的运行机制是<main>层中的DOM是经AJAX异步加载的新生DOM,jQueryMoblie一旦被导入就立刻会执行document中mobileini事件,初始化时并不能绑定<main>中的新生元素,所以无法进行元素增强。
想到这里,原因就在jQueryMoblie的加载时机上,此时的我想起TP官方给了我们TPM.ready()函数(即<main>就绪事件),将jQueryMoblie加载放在TPM.ready()函数中,即是当main中的元素加载就绪时,加载jQueryMobile.js,问题迎刃而解!………
2、成功配置DEMO:
<!DOCTYPE HTML>
<html lang="zh-cn">
<head>
<me
<me
<ti
<li
<sc
<sc
<sc
TPM.run({
api_ba
api_index:'/Index/index'
});
TPM.ready(function(){//DOM完成时的事件
$.getsc
});
</sc
</head>
<body>
<div id="main" data-role="page"></div>
<div class="ajax_wait">正在加载中...</div>
</body>
</html>
注意:给ID=“main”的DIV容器加上属性data-role="page"
我的index.html模板 DEMO:
<div data-role='header'>
<h1>YOUR WEB NAME</h1>
</div>
<div data-role='content'>
<p>Something stuff</p>
</div>
<div data-role='footer' data-position='fixed'>
<p>Copyright @2012-2013</p>
</div>
如果觉得文档对您的开发有帮助,Mark一下哦,给我增增积分!
=========================================
遗留的问题注意:
SAE云端调试器能正常运行APP。用移动端浏览器也能正常读取JQM,但是打包成APP无法显示JQM效果。
TPM分析:TPM.ready()中的绑定的事件会运行2次。不知为何。
PhoneGap分析:不知道PhoneGap打包后为什么不能正常运行JQM。但手机浏览器均可正常运行。估计是PhoneGap打包后JS的调用机制变了。
最佳答案