8

モバイル タッチスクリーン デバイスのみを使用しているときに、自分のサイトに jQuery Mobile をロードします。私がそうするとき。それはすべてを台無しにします。たとえば、選択メニューも正しく機能せず、ページの下部に「読み込み中、読み込み中、未定義」という言葉が表示されます。私は何かが欠けていることを知っていますが、何がわかりません。

私が見逃している可能性のあるものについてのアイデアはありますか?

ありがとう

編集:さて、jQueryとjQuery Mobileを除いて、実行しているすべてのスクリプトを取り出しました。最初に jQuery を呼び出し、次に jQuery Mobile を呼び出します。それはまだサイトの側面を壊しています。

何が壊れるか: - ナビゲーション項目をクリックして URL を見ると、ナビゲーション バーを介して他のページに移動できません。次のように正しい URL が表示されます (# が含まれています): /#/about-us/次に、ホームページにリダイレクトするだけで、ページが白くなります

  • メニューを選択すると、奇妙な結果が得られます。その横に選択されているものは何でも印刷されます。また、iPad でランドスケープ モードで選択をクリックすると、ページの一番下に移動します (奇妙なことです)。

  • ページの下部に「loading」を 2 回、「undefined」を 1 回出力します。

私が持っているスクリプトは、jQuery と jQuery Mobile だけです。また、Wordpress を使用しているため、他のスクリプトがキューに登録されている可能性があることにも言及する必要があります (Wordpress のバージョンの jquery を登録解除し、独自のスクリプトをキューに登録しました)。

これらの問題を経験している人はいますか?

4

3 に答える 3

12

jQueryMobile通常のリンクを 1 つに置き換えてAjax、すべてのページを ajax でロードできるようにします。ドキュメント ページのテキストは次のとおりです。

(..) Ajax is used to load the contents of each page into the DOM as you navigate, and the DOM ready handler only executes for the first page. To execute code whenever a new page is loaded and created, you can bind to the pageinit event. This event is explained in detail at the bottom of this page.

ajax によって単一のリンクが読み込まれないようにする場合は、次のように記述します。

<a href="/some_page" data-ajax="false" >link</a>

またはグローバルに実行します。

$(document).bind("mobileinit", function() {
  $.mobile.ajaxEnabled = false;
});

data-rolejm は他の要素の置換も行うため、属性を使用してみてください。次に例を示します。

<select id="test" data-role="none">

この要素の置換を無効にします。

于 2012-05-31T19:55:23.757 に答える
0

モバイルを他のフレームワークと組み合わせることで、私にも同じことが起こりました。問題を修正しましたが、jQuery.mobile のカスタム ビルドを取得しました。私の場合は、タッチデバイスのスワイプのみが必要だったので、カスタム最小ファイルを使用しましたが、その後は何も壊れていませんでした。

jQuery.mobile が必要なのか、それとも特定の機能、ウィジェット、イベントだけが必要なのかによって異なります。自分で構築できるカスタムバージョンを使用してください。

ここで作成してダウンロードできます:http://jquerymobile.com/download-builder/

皆さんにもうまくいったことを願っています!

于 2017-11-14T18:58:51.503 に答える