0

jQuery Mobile 1.0a2 を実行しているモバイル Web サイトがあり、現在 iPhone Simulator を介して Mobile Safari でファームウェア 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 シミュレーターでは機能しません。

参考のため:

更新: MobiOne iPhone シミュレーターで JQuery Image load fails を実験しています。これは.load、「チェック」によって手動で実装する方法を説明しています.complete

4

1 に答える 1

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からのソリューション (直接) は使用しませんでしたが、 loadviaの手動起動.completeはおそらく他の誰にとっても良いソリューションです!

于 2011-01-07T17:12:57.210 に答える