実際、私はこのコードを呼び出すことができます
$(":input").attr("disabled",true); //Disable all input fields
ページのすべてのボタンを無効にします。しかし、ページにボタンがたくさんある場合のパフォーマンスがどれほど良いかはわかりません。
読み込みインジケーターオーバーレイを作成するトリックを見ました。これは何よりもページ上の要素です=>ユーザーはボタンをクリックできなくなりました
jquery mobileの読み込みオーバーレイを再利用して上記のトリックをアーカイブする方法はありますか?私はCSSが苦手なので、誰かが私を助けてくれることを願っています。
ありがとう
編集:
私はjQueryにjquery.blockUIプラグインを使用することになり、期待どおりに機能します。そして、jquery mobileのcssでデフォルトのdivを追加したので、jquerymobileの読み込みメッセージと必要な動作がまだあります
私が今見つけた簡単な方法は、z-indexと不透明度で固定された背景を使用することです:
このcssを追加します:
.ui-loader-background {
width:100%;
height:100%;
top:0;
margin: 0;
background: rgba(0, 0, 0, 0.3);
display:none;
position: fixed;
z-index:100;
}
.ui-loading .ui-loader-background {
display:block;
}
ui-loader-backgroundはカスタムクラスですが、ui-loadingは、読み込みが表示されたときにJQMによって追加されます。
そしてあなたの体のこの要素:
<div class="ui-loader-background"> </div>
私の場合、私は以下を使用します:
$("body").addClass('ui-disabled');
$.mobile.loading("show",{
text: "Cargando",
textVisible: true
});
カスタムメッセージの読み込みを表示し、ページ全体を無効にします。
タスクが完了したら、次のことを行う必要があります。
$.mobile.loading("hide");
$("body").removeClass('ui-disabled');
希望はあなたを助けます
Xoraxが提供する作業ソリューションを少し編集して、ローダーの背景をブラウザーウィンドウの左端に移動しました。これは、Chromeブラウザーで、完全にカバーされていない領域があったことに気づきました。
.ui-loader-background {
width:100%;
height:100%;
left:0;
top:0;
margin: 0;
background: rgba(0, 0, 0, 0.3);
display:none;
position: fixed;
z-index:100;
}