質問

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 おそらく他の誰にとっても良い解決策です!

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top