使用jQuery mobile 开发web程序的时候,需要注意的几个坑!!!

1、使用
 
 
<a data-role="button" href="action" />链接</a>

使用a标签的时候,如果你跳转的是全新的action 并且也是全新的一个页面的话,请记住加 data-ajax="false"

如果你不添加这个属性的话,在你跳转后的全新页面中将会发生很多奇怪的JS bug,比如获取不到JS对象,获取不到JS的val(),又或者属性事件都失效等等状况。另外就是记住 要把JS代码写在新的页面<div data-role="page">content</div>当中去。这样才会万无一失


2、当你的页面嵌入了jQuery mobile后,你的form提交表单的时候会出现中文乱码问题

无论你设置什么<meta http-equiv="Content-Type" content="text/html;charset=utf-8" />

或者使用 

$("form").submit({
   $(this).ajaxSubmit({
      url: "ajaxsub.aspx?abc=test", 
      type: "post", 
       dataType: "json", 
       contentType: "application/x-www-  form-urlencoded; charset=utf-8", 
        success: data
  });
})

这些都是无效的,最后的方法就是使用$.ajax({})方法老老实实的把值一个一个的拿到传到服务端去


3、如果你在上述当中使用ajax返回数据后要跳转到另外一个action 或者页面,使用了window.location="url"的话,在新的页面如果想点击新的如下的标签的话,会失效,无法跳转。

<a data-role="button" href="action" />链接</a>

这个会导致连接无反应的情况,必须也要加上data-ajax="false"


4、使用jQuery mobile框架的时候,在苹果的Safari浏览器、IE浏览器、360浏览器,使用submit()提交form表单的时候,中文会乱码,必须使用$.ajax()方法


猜你喜欢

转载自blog.csdn.net/xq30397022/article/details/79655497