0

私は JQuery Mobile Web アプリを作成しています。あるページには、HTML5 ローカル ストレージに格納された値を取得し、ページ上の Web コントロールをその値で更新する JavaScript があります。Web コントロールの 1 つにスライダー コントロールがあります。

ページにアクセスするたびにJavaScriptを実行して、ローカルストレージからコントロールを適切に更新する必要があります。すべてのページで発生する唯一の適用可能な JQuery イベントは、pageshow および pagebeforshow イベントであるため、これらのイベント中に実行するコードを結び付けようとしました。例は次のとおりです。

  var onPageShow = function () {
    // Restore setting values from device browser local storage
    if (localStorage.getItem("mmb_AutoLogin")) {
      $('#AutoLogin').val(localStorage.getItem("mmb_AutoLogin").toLowerCase());
      $('#AutoLogin').slider('refresh');
    }
  };

  $(document).delegate('#maxsettings', 'pageshow', onPageShow);

問題は、スライダーを参照しようとするとエラーが発生することです: 0x800a01b6 - JavaScript ランタイム エラー: オブジェクトはプロパティまたはメソッド 'slider' をサポートしていません

値をデフォルトから変更した後、スライダー Web コントロールを更新する必要があります。そうしないと、視覚的に変化しません。

それが問題です。ページが読み込まれるたびにスクリプトを実行し、エラーを発生させずにスライダー Web コントロールを更新するにはどうすればよいですか? jQuery Mobile で簡単に処理できるようにするには、さまざまな手順を踏まなければならないような気がします。

4

2 に答える 2