TPM与jQuery Moblie 完美结合方法!

浏览:3435 发布日期:2013/08/23 分类:技术分享 关键字: JQM jQueryMoblie
移动端有BootStrap等CSS框架,但是貌似和jQueryMoblie众多API支持相比还是有差距。这两天一直在研究TPM 与 jQuery Mobile 如何结合,今天下午终于找出了解决方法。

1、以前错误的加载方法:
<link rel="stylesheet" href="./Public/css/jquery-mobile.css" />
<script type="text/javascript" src="./Public/js/jquery.js" ></script>
<script type="text/javascript" src="./Public/js/TPM.js"></script>
<script type="text/javascript" src="./Public/js/juery-mobile.js"></script>

这样加载是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>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<meta charset="UTF-8">

<title>jQueryMoblie</title>

<link rel="stylesheet" href="./Public/css/jquery-mobile.css" />

<script type="text/javascript" src="./Public/js/jquery.js" ></script>
<script type="text/javascript" src="./Public/js/TPM.js"></script>

<script type="text/javascript">

TPM.run({
api_base:'http://Yourdomain.sinaapp.com/index.php',
api_index:'/Index/index'
});

TPM.ready(function(){//DOM完成时的事件
$.getscript("./Public/js/jquery-mobile.js");//此时再加载jquery-mobile.js,开始初始化;
});
</script>
</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的调用机制变了。
最佳答案
评论( 相关
后面还有条评论,点击查看>>