我有一个运行jQuery Mobile 1.0A2的移动网站,目前正在移动Safari中通过iPhone Simulator进行固件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模拟器中不使用。

以供参考:

更新: 我正在尝试 jQuery图像负载在iphone模拟器上失败, ,其中解释了如何实施 .load 手动检查 .complete".

有帮助吗?

解决方案

我更改了jQuery的结构,它似乎已经修复了!

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

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

(如您所见,我选择了 try { .. } catch { .. } 可以验证jQuerymobile。

尽管我没有直接使用该解决方案 jQuery图像负载在iphone模拟器上失败, ,手动射击 load 通过 .complete 对于其他任何人来说,可能是一个很好的解决方案!

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top