jquery mobile alpha4有什么变化

Jquery mobile团队即将发布alpha4,这个版本主要关注两个问题:性能以及兼容性。以下是这个版本更新的主要部分 Windows Phone 7 (WP7) 支持 JQM已经支持在WP7上运行,原来对WP7原生浏览器的支持度为C,也就是说部分核心功能不可用。而alpha4对这个做了大幅改动,支持度为A-,也就是说jquery mobile所有核心功能在WP7上都能运行良好。顺带受惠的还有桌面版的ie7, 8, 9,也能取得很好的运行效果。 名称空间data- 属性 jquery mobile大量使用html5的data属性来定义html标签,比如页头是 data-role=”header”,但是其它开发框架和插件也可能使用了data来标记某些特性,为避免冲突,alpha4新增了名称空间的概念,新增了jqmData,jqmRemoveData和jqmHasData这几个方法来访问data属性,和jquery的data()相比,这几个方法支持名称空间访问。 举个例子,原来使用data-icon来标记一个标签使用的图标,但是如果你使用了名称空间 foo,那么这个属性应该变成 data-foo-icon。为了不影响原来基于jquery mobile开发的程序,名称空间默认为空,保持不变。 统一的touch/mouse事件处理系统 新的touch/mouse“虚拟”事件,详情请参考The current state of touch events phonegap支持增强 jquery mobile很适合和phonegap一起搭配来做原生的手机应用,但是在alpha3的时候,页面上的链接会被phonegap神奇的截断,有三个相关的问题: jQuery 1.5 截断了 file:// URLs jQuery 1.5.1 修复了 file://,但是它把HTML当成是XML, 所以需要在做ajax请求的时候指定dataType. 原来是不允许JQM加载跨域的JQM页面,但是这个版本新增了一个配置选项 $.mobile.allowCrossDomainPages 来支持http/https页面. 这个改动会导致URL可能出现这样的情况: file://dir1/dir2/myPhoneGapApp.html#https://myHomeServer.com/dir1/dir2/foo 以上这些问题在JQM alpha4里都得到了很好的解决,前提是使用jquery 1.5.1。 重要的升级注意事项 列表li的html结构变化,可以用a标签直接包住li中需要链接的整个部分,比如图片,文字段落。 由于WP7不支持动态插入viewport meta标签,所以现在推荐的方式是在每个页面上都放上meta标签,原来是由JQM的metaViewportContent 方法动态插入的,但是以后这个方法将被取消。为了避免影响已有的站点,JQM会在缺少meta标签的页面上直接插入了一个。 原生的select选单将成为默认选项,这是出于性能问题考虑,如果你希望在alpha4中继续使用JQM定制的select选单,那么需要加上 data-native-menu=”false”