jquery mobile小经验
现在网站上关于jquery mobile的demo和帖子可真少啊,我刚开始接触,遇到了一些问题,都找不到人请教。
这是我的个人经验总结,或多或少会对刚入门的童鞋有点帮助吧。
如果想一开始进入页面的时候就弹出来一个警告框,目前我知道的有三种办法可以解决:
1.利用jqm因为jqm的加载远早于document.ready事件发生时,当Jquery Mobile开始执行时,他就会在document对象上触发mobileinit 事件,所以你可以绑定别的行为来覆盖默认配置
- $(document).bind("mobileinit", function(){
- alert("jquery mobile");
- });
因为mobileinit事件是在加载后马上触发,所以你需要在Jquery Mobile加载之前绑定你的事件处理函数,所以我建议你如下安排你的js引用顺序
- <script src="Jquery.js"></script>
- <script type="text/javascript">
- $(document).bind("mobileinit", function(){
- alert("jquery mobile");
- });
- </script>
- <script src="Jquery-mobile.js"></script>
最好是按照这个顺序,因为我开始的时候,是这样写的:
- <script src="Jquery.js"></script>
- <script src="Jquery-mobile.js"></script>
- <script type="text/javascript">
- $(document).bind("mobileinit", function(){
- alert("jquery mobile");
- });
- </script>
但是根本就没有任何反应,也不报错,所以顺序很重要哈!
2.利用jquery$(function(){
alert("jquery");
})
3.利用javascript
- function loaded(){ alert('javascript'); }
- document.addEventListener('DOMContentLoaded', function () { setTimeout(loaded, 2000); }, false);
此外,还有一种页面跳转的方式,如果你想从第一个页面通过后台跳转到第二个页面的时候,弹框框,那么你可以用这种方式:
第一个页面的链接:
- <a href="${pageContext.request.contextPath}/lcecodelog/listL_cecodelog.action class="ui-btn-active" data-ajax="false">跳转页面</a>
第二个页面:
- <script src="Jquery.js"></script>
- <script src="Jquery-mobile.js"></script>
- <script type="text/javascript">
- $(function(){
- alert("第二个页面");
- });
- </script>
- 或者
- <script src="Jquery.js"></script>
- <script src="Jquery-mobile.js"></script>
- <script type="text/javascript">
- $(document).bind("mobileinit", function(){
- alert("第二个页面");
- });
- </script>
因为jqm默认的提交方式是ajax,但是我在这里不是用ajax提交的,所以需要设置data-ajax="false"属性,这样才可以正常弹出框框,否则也是没反应的。
- <script type="text/javascript">
- $(document).bind("mobileinit", function(){
- $("#jiangjie").bind("click", function() {
- //如果使用的$("#jiangjie").click(function(){});那么就需要写在$(function(){})里面,不支持click事件吗?还是绑定事件吧
- alert("产品讲解");
- });
- });
- </script>