首页 > IT, 编程 > jqtouch使用和bug

jqtouch使用和bug

2010年1月6日 发表评论 阅读评论

发现了一个非常好的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最新的版本已经把这个错误修改了。

Bookmark and Share
分类: IT, 编程 标签: , , ,
  1. admin
    2011年2月24日11:22 | #1

    技术一般啦,都依样画葫芦。

  2. 2011年2月11日11:50 | #2

    这就是开源的力量,博主JQ也很厉害

  1. 本文目前尚无任何 trackbacks 和 pingbacks.