jquery mobile小经验

  1. 云栖社区>
  2. 博客>
  3. 正文

jquery mobile小经验

y0umer 2012-11-19 19:36:00 浏览414
展开阅读全文
[size=medium]现在网站上关于jquery mobile的demo和帖子可真少啊,我刚开始接触,遇到了一些问题,都找不到人请教。 
这是我的个人经验总结,或多或少会对刚入门的童鞋有点帮助吧。 
如果想一开始进入页面的时候就弹出来一个警告框,目前我知道的有三种办法可以解决: 
1.利用jqm因为jqm的加载远早于document.ready事件发生时,当Jquery Mobile开始执行时,他就会在document对象上触发mobileinit 事件,所以你可以绑定别的行为来覆盖默认配置 
Java代码  收藏代码
  1. $(document).bind("mobileinit", function(){  
  2.  alert("jquery mobile");  
  3. });  

因为mobileinit事件是在加载后马上触发,所以你需要在Jquery Mobile加载之前绑定你的事件处理函数,所以我建议你如下安排你的js引用顺序 
Java代码  收藏代码
  1. <script src="Jquery.js"></script>  
  2. <script type="text/javascript">  
  3. $(document).bind("mobileinit", function(){  
  4.  alert("jquery mobile");  
  5. });   
  6. </script>  
  7. <script src="Jquery-mobile.js"></script>  

最好是按照这个顺序,因为我开始的时候,是这样写的: 
Java代码  收藏代码
  1. <script src="Jquery.js"></script>  
  2. <script src="Jquery-mobile.js"></script>   
  3. <script type="text/javascript">  
  4. $(document).bind("mobileinit", function(){  
  5.  alert("jquery mobile");  
  6. });   
  7. </script>   

但是根本就没有任何反应,也不报错,所以顺序很重要哈! 

2.利用jquery$(function(){ 
alert("jquery"); 
}) 
3.利用javascript
Java代码  收藏代码
  1. function loaded(){ alert('javascript'); }  
  2. document.addEventListener('DOMContentLoaded', function () { setTimeout(loaded, 2000); }, false);  

此外,还有一种页面跳转的方式,如果你想从第一个页面通过后台跳转到第二个页面的时候,弹框框,那么你可以用这种方式: 
第一个页面的链接: 
Java代码  收藏代码
  1. <a href="${pageContext.request.contextPath}/lcecodelog/listL_cecodelog.action class="ui-btn-active" data-ajax="false">跳转页面</a>  

第二个页面: 
Java代码  收藏代码
  1. <script src="Jquery.js"></script>  
  2. <script src="Jquery-mobile.js"></script>   
  3. <script type="text/javascript">  
  4. $(function(){  
  5.  alert("第二个页面");  
  6. });   
  7. </script>   
  8. 或者  
  9. <script src="Jquery.js"></script>  
  10. <script src="Jquery-mobile.js"></script>   
  11. <script type="text/javascript">  
  12. $(document).bind("mobileinit", function(){  
  13.  alert("第二个页面");  
  14. });   
  15. </script>  

因为jqm默认的提交方式是ajax,但是我在这里不是用ajax提交的,所以需要设置data-ajax="false"属性,这样才可以正常弹出框框,否则也是没反应的。[/size] 



Java代码  收藏代码
  1. <script type="text/javascript">  
  2. $(document).bind("mobileinit", function(){   
  3.    $("#jiangjie").bind("click", function() {    
  4.  //如果使用的$("#jiangjie").click(function(){});那么就需要写在$(function(){})里面,不支持click事件吗?还是绑定事件吧  
  5.     alert("产品讲解");  
  6.         });     
  7. });   
  8. </script>  

网友评论

登录后评论
0/500
评论
y0umer
+ 关注