0

我有一个运行 jQuery Mobile 1.0a2 的移动网站,我目前正在通过 iPhone 模拟器在 Mobile Safari 中测试固件 4.1。

我似乎无法绑定到图像的加载事件。

我有一个简单的缩略图画廊和一张大图。当您单击缩略图时,它会更改src主要的属性img

该js使用该live('click'方法进行绑定,它工作得很好。

$('.gallery-navigation img').live('click',function() {
  // change source of main image to new
  $.mobile.pageLoading(); // show jquerymobile loading message
});

我的问题是我需要关于此点击的反馈,所以我想显示一条加载消息(由 jquerymobile 提供),然后在图像加载后将其隐藏。

#gallery_image_large实际变化的<img>地方在哪里,src我尝试了以下方法:

$("#gallery_image_large").bind("load", function () {
   $.mobile.pageLoading(true); // hide jquerymobile loading message
});

这适用于我桌面上的 Safari,但不适用于上面提到的 iPhone 模拟器。

以供参考:

更新:在 MobiOne iPhone 模拟器上尝试 JQuery Image load failed,它解释了如何.load通过“检查”手动实现.complete

4

1 回答 1

1

我改变了我的 jquery 的结构,它似乎已经修复了它!

$('#gallery_image_large').one('load',function() {
    try { // a grade  
        $.mobile.pageLoading(true);
    } catch(err) { // low grade

    }
}).attr('src',full_src);

(如您所见,我选择了一个try { .. } catch { .. }来验证 jquerymobile 是否可用。

虽然我没有在 MobiOne iPhone 模拟器上使用 JQuery Image load failed的解决方案(直接) ,但手动触发loadvia.complete对于其他任何人来说可能是一个很好的解决方案!

于 2011-01-07T17:12:57.210 回答