如何在JQueryMobile中绑定负载事件
-
30-09-2019 - |
题
我有一个运行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
对于其他任何人来说,可能是一个很好的解决方案!
不隶属于 StackOverflow