我有一个运行jQuery Mobile 1.0a2的移动网站,我目前正通过iPhone模拟器在Mobile Safari for Firmware 4.1中进行测试。
我似乎无法绑定图片的加载事件。
我有一个简单的缩略图库和一个大图像。当您点击缩略图时,它会更改主src
img
属性
js for the使用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 Image load fails on MobiOne iPhone simulator,其中解释了如何通过“检查.load
”手动实施.complete
。
答案 0 :(得分: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是否可用。
虽然我没有使用JQuery Image load fails on MobiOne iPhone simulator中的解决方案(直接),但是通过load
手动触发.complete
可能是其他任何人的好解决方案!