JQueryMobile + PhoneGap 经验总结

发布时间:2019-10-14 发布网站:大佬教程

关于JQM事件的总结可以参考

2. refresh

通过脚本修改JQM页面数据时,通常需要再进行一次refresh。可以根据不同的类型选择以下对应的方法。

还有更多的可以参考

3. tap

JQueryMobile在Android设备上的tap事件会出现多次触发的问题,对此可以参考

我们的解决方案是使用,

将原来需要用tap的地方改用fastbutton处理。

4. taphold

检查,1722行。

在触发taphold事件时没有清除handlers,所以当taphold事件后,本不应该被触发的tap事件也被触发了。

暂时修复的方案是在1722行添加:

这个bug存在于JQM1.2.0及以下版本。

5. swipe

JQM的swipe响应也是非常慢/诡异,如果需要使用swipe事件,建议寻找其他代替的方案,如

6. popup

你可以选择在脚本中生成popup,并通过popup('open')popup('close')进行打开/关闭,借此可以实现很多实用的功能。

如以下模拟confirm的效果:

"

"confirm<span class="pun"><span class="pun"><span class="pun">(<span class="str"><span class="str"><span class="str">'are you sure?'<span class="pun"><span class="pun"><span class="pun">,<span class="str"><span class="str"><span class="str">'Confirm'<span class="pun"><span class="pun"><span class="pun">,<span class="kwd"><span class="kwd"><span class="kwd">function<span class="pun"><span class="pun"><span class="pun">()<span class="pun"><span class="pun"><span class="pun">{<span class="pln"><span class="pln"><span class="pln">
alert<span class="pun"><span class="pun"><span class="pun">(<span class="str"><span class="str"><span class="str">'sure'<span class="pun"><span class="pun"><span class="pun">);<span class="pun"><span class="pun"><span class="pun">});

需要注意的是popup('open')前需要对div进行.trigger('create').trigger('refresh').popup()

此外, $.mobile.popup.active也非常实用, $.mobile.popup.active.element[0]将返回当前显示的popup层对象。

7. data-rel=back

当你发现使用data-rel=back的返回按钮响应速度难以忍受的时候,可以为这个按钮单独绑定一个事件处理器。

如以下脚本将加快header上的返回按钮响应速度:

 div[data-role=header] > a[data-rel=back]"

但这并不是一个好的解决方案,如果你对back-rel=back的处理感兴趣可以查看 : 4141行。如果有更好的解决方案请^_^。

8. BackButton (PhoneGap + JQM)

在PhoneGap+JQM的方案下,发现Android手机上的返回硬键无效或者对popup的处理不正确时(多为ajaxEnable=false的情况),加入以下脚本:

如果这段脚本不起作用,请再参考,对phonegapNavigation进行设置。

9. $.mobile.loading

建议把$.mobile.showPageLoadingMsg()以及$.mobile.hidePageLoadingMsg()的脚本改为$.mobile.loading('show')以及$.mobile.loading('hide')

这个方法同样可以配置内容、样式等参数: $.mobile.loading('show',{text : 'test',theme : 'a'});

更多的信息参考

10. $.mobile.back()

如果你是使用PhoneGap + JQueryMobile进行开发,设定了ajaxEnable=false,并且发现$.mobile.back()无效,那么请尝试设定phonegapNavigationEnable=true

当该值为true时,$mobile.back()会使用nav.app.backHistory();,否则使用window.history.back();

但这个参数也  建议在ajaxEnable=false的情况下进行设置。

更多的信息可以参考

11. ajaxEnable

如果希望使用PhoneGap将应用打包为app,我的建议是, 尽量使用ajaxEnable=true,否则体验十分不好,而且你还会遇到更多的问题。

此外应该给每一个page设定id,并遵循

12. 页面跳转

请使用$.mobile.changePage()代替window.location.href

如果要刷新当前页面呢? 我的方法是:

但这理应不是最好的方法,如果你有更好的方法请

13. 慎重选择JQueryMobile

如你所见,使用JQM + PhoneGap进行WebApp开发会遇到许多问题。

但JQM目前还是只适合做简单的WebApp,如果坚持做复杂,其效率将会十分堪忧。

当然,如果你选择了一个正确的方式,那其中大部分都可以避免。

此外,Github上有许多项目对基于JQM的开发会有很大的帮助。

1. 

The-M-Project的UI基于JQM,但其拥有更好的结构,并实现了一些你可能会需要的功能。也十分健全,你可以查看其。你不一定使用这个框架,但在JQM的开发上,这个项目有许多值得借鉴的地方。

2. 

离线数据的库,这里有一个

3. 

出自腾讯CDC的javascript模板引擎。


Tagged with: 

大佬总结

以上是大佬教程为你收集整理的JQueryMobile + PhoneGap 经验总结全部内容,希望文章能够帮你解决JQueryMobile + PhoneGap 经验总结所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ群:277859234,请注明来意。
标签:JQueryMobile + PhoneGap 经验总结
猜你在找的Android相关文章
其他相关热搜词更多
php如何使用2javascriptJavaPythoncocos编程问答c#csschtmlrubyjsd3cocos2d文件
全站导航更多
最新Android教程
热门Android教程