jquerymobileの画像の負荷イベントをバインドする方法
-
30-09-2019 - |
質問
JQuery Mobile 1.0A2を実行しているモバイルWebサイトがあり、現在、iPhoneシミュレーターを介してファームウェア4.1のモバイルSafariでテストしています。
画像のためにロードイベントにバインドできないようです。
サムネイルのシンプルなギャラリーと大きな画像があります。サムネイルをクリックすると、変更されます 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画像の負荷は、Mobionene 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画像の負荷は、Mobionene iPhoneシミュレーターで失敗します, 、の手動発火 load
経由 .complete
おそらく他の誰にとっても良い解決策です!