Android   发布时间:2019-10-14  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了JQueryMobile + PhoneGap 经验总结大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

1. pageinit & pageshow

JQM的官方手册重点提醒了

但当你需要对某一个页面(page)编写其独享的Javascript脚本时,选择器应该选择的是该page层,而不是document,并使用live()添加事件处理器。这在ajaxEnable=true的情况下尤为重要。

JS :

{););{);Hello"{Hello的页面初始化'););Hello"{Hello的页面被显示'););

Html :

Hello'

关于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的效果:

title{

"title

"););{););triggertriggerrefresh'{);););););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);false););

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

8. BACkButton (PhoneGap + JQM)

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

BACkKeyListenerfalse);BACkKeyListener{BACkbutton"BACkKeyDownfalse);BACkKeyDown{{{{{);false);{BACk);false{BACkButton Listener Catch : ');

如果这段脚本不起作用,请再参,对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()无效,那么请尝试设定@H_288_9@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: 

title="查看 折腾 中的全部文章" href="http://imyelo.com/?cat=3" rel="category">折腾

大佬总结

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

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

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。
标签:
猜你在找的Android相关文章
其他相关热搜词更多
phpJavaPython程序员load如何string使用参数jquery开发安装listlinuxiosandroid工具javascriptcap