問題タブ [jquery-mobile-dialog]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
jquery - ダイアログを閉じた後、pageshow イベントのバインドを解除する必要がありますか?
少し面倒なことを見つけたので、あからさまに間違ったことをしていないことを確認したいと思います。jquery-mobile 1.4 を使用しています。
ダイアログとしてモデル化された dialogpage.html を呼び出す mainpage.html があります。ダイアログページには <div data-role="page" id="dialogpage" data-dialog="true"> があります。
ダイアログページには、次のようにdivページに添付されたpageshowイベントもあります
私が見つけたのは、このダイアログページを開くたびに、追加の pageshow イベントが呼び出されることです。これが意味することは、ダイアログを初めて開いたときに、コンソールに「pageshow dialogpage」が 1 回出力されるということです。ダイアログを 2 回目に開くと、ダイアログが 2 回表示されます。ページを 3 回目に開くと、3 回印刷されます。
ページを開くたびに、pageshow イベントが何度も追加されているようです。ある意味、これは理にかなっていますが、対処するのはかなり面倒に思えます。
私の解決策は、次のようなバインド解除イベントを追加することです。
これにより、「pageshow dialogpage」が複数回印刷されるのを防いでいるようです。しかし、これは、ダイアログ ページ内のすべてのイベントをアンバインドする必要があるということですか?
私は何か間違ったことをしていますか?
asp.net-mvc - Jquery Mobile 1.4.2 戻るボタンを押したときのダイアログ表示が正しくない (ページ表示ダイアログの内容から)
[戻る] ボタンを押した後、JQuery モバイル ダイアログが正しく表示されない。
初めての実行
ダイアログを開くボタンをクリックします
戻るボタンをクリックしました
ダイアログを開くボタンをもう一度クリックします
[戻る] ボタンをクリックすると、ダイアログ ページのコンテンツが元のページにコピーされます。これは、jquery-ui を追加した後に発生します。jquery モバイル ダイアログと jquery ui の間に競合があるようです。または、ダイアログの内容が数行だけであれば正常です。
ここに私のコードがあります: 1.ページから
2.ダイアログページ
jquery - Jquery モバイル ダイアログ - URL に複数の &ui-state=dialog
何らかの理由で、changepage を使用して jquery モバイル ダイアログを開くたびに &ui-state=dialog が URL に追加されます。
元: /search-results.html?m_search=iphone#&ui-state=dialog&ui-state=dialog&ui-state=dialog
閉じるボタンのコード:
この特定のパラメーターが URL に複数回追加されないようにするために、他のオプションを含める必要がありますか?
jquery - jQuery-UIの.dialogとjQuery Mobile?
私は現在、jQuery UI を広範囲に使用してモバイル デバイスで適切に動作する、大規模な既存の Web アプリケーションの改造に取り組んでいます。私はこれを行うために jQuery Mobile ライブラリを使用できることを望んでいました.jQuery Mobile ライブラリは、フォーム要素をタッチスクリーンデバイスで適切に動作させるという頭痛の種の多くを処理し、すべてが十分に機能しているようです. jQuery UI ダイアログはまったく応答せず、コンソール エラーも発生しません。
これは、jQuery Mobile にも .dialog メソッドがあり、ダイアログを作成する jQuery UI スタイルと機能的に互換性がないために発生していると推測しています。
jQuery Mobile がなくても、jQuery UI ダイアログはすべて、私がテストしたすべてのモバイル デバイスでうまく機能しますが、もちろん、サイト全体のすべてのボタンと入力用にカスタム モバイル スタイルを作成するためにかなりの量の作業が必要になります。 . また、アプリには jQuery UI のダイアログ ウィジェットのインスタンスが 100 以上あるため、jQuery Mobile メソッドを使用するためにそれらすべてを手作業で書き直すことも、優れたソリューションではありません。
理想的には、jQuery Mobile の代わりに jQuery UI のダイアログ ウィジェットを引き続き使用できるようにしたいと考えていますが、jQuery Mobile の残りの機能はそのまま維持します。私はかなり長い間探していましたが、この問題の解決策を提供するリソースをまだ見つけていないので、この競合を解決する方法を知っている人がいるかどうか疑問に思っています.
サイトの jQuery UI のバージョンは 1.11.1 で、jQuery Mobile のバージョンは 1.4.3 です。サイトは Google Hosted Libraries を使用しており、理想的にはそのままにしておく必要があるため、ライブラリ自体の編集は最後の手段になります。 .
編集:私の仮定を確認するために、ダイアログウィジェットを削除するダウンロードビルダーで構築されたカスタマイズされたjQuery Mobileバージョンをテストしました.jQuery UIはそれで完全に動作します. ただし、何らかの形で Google Hosted Library を使用してこれを機能させることができればなお望ましいでしょう。