jqtouch使用和bug
发现了一个非常好的jQuery插件jQTouch。这个插件是帮助你方便开发iphone上的浏览器上的web程序。使它的操作像原生的Iphone程序有良好的界面和操作交互。
我使用了他帮朋友搞左个应用,你可以使用iphone或者ipod touch访问 http://www.goflytoday.com 就可以访问到该应用了。如果你没有iphone的话,可以使用Apple Safari浏览器去访问这个网址体验一下效果,其效果基本和iphone差不多,只是有小许细节不一样(google android的手机都可以,我用hero试过,速度比较慢)。其他浏览器就不行。
我使用的是jqtouch-1.0-beta-2-r109.zip这个版本。发现有一个bug。这个bug主要表现是当列表跳转的链接为空的时候,用户点击该链接的时候,连接会成另外一种状态后不会自动恢复原来的状态。
这个bug位于函数 showPageByHref。原来函数写法如下:
function showPageByHref(href, options) { var defaults = { data: null, method: 'GET', animation: null, callback: null, $referrer: null }; var settings = $.extend({}, defaults, options); if (href != '#') { $.ajax({ url: href, data: settings.data, type: settings.method, success: function (data, textStatus) { var firstPage = insertPages(data, settings.animation); if (firstPage) { if (settings.method == 'GET' && jQTSettings.cacheGetRequests && settings.$referrer) { settings.$referrer.attr('href', '#' + firstPage.attr('id')); } if (settings.callback) { settings.callback(true); } } }, error: function (data) { if (settings.$referrer) settings.$referrer.unselect(); if (settings.callback) { settings.callback(false); } } }); } else if ($referrer) { $referrer.unselect(); } }
需要把把第463行修改成下边的写法就可以了。
else if (settings.$referrer) { settings.$referrer.unselect(); }
这个bug已经向作者反映了。作者告诉我svn最新的版本已经把这个错误修改了。







技术一般啦,都依样画葫芦。
这就是开源的力量,博主JQ也很厉害