lazyload()打破jQuery Mobile changePage并在iOS phonegap中导航

时间:2013-07-29 21:32:08

标签: jquery ios jquery-mobile cordova jquery-lazyload

lazyload和jquery mobile之间的冲突打破了在phonegap iOS版本中使用$.mobile.changePage$.mobile.navigate的预期结果。

它可以在桌面浏览器中使用,但不适用于iOS版本(例如那些phonegap提供的)。

问题是由这部分代码引起的:

/* With IOS5 force loading images when navigating with back button. */
        /* Non optimal workaround. */
        if ((/iphone|ipod|ipad.*os 5/gi).test(navigator.appVersion)) {
            $window.bind("pageshow", function(event) {
                if (event.originalEvent.persisted) {
                    elements.each(function() {
                        $(this).trigger("appear");
                    });
                }
            });
        }

堆栈跟踪中的问题event.originalEventundefined

1 个答案:

答案 0 :(得分:0)

以下补丁可以解决问题。但是,最新版本的插件也修复了这个问题。

if (event.originalEvent && event.originalEvent.persisted) {
    elements.each(function() {
        $(this).trigger("appear");
    });
}