[解決済み] モーダルが開かれたときにBODYがスクロールしないようにする
2022-03-26 13:59:05
質問
マウスホイールを使ってモーダル(以下、「モーダル」)を表示させたまま、ボディのスクロールを止めたいのです。 http://twitter.github.com/bootstrap )が開かれています。
モーダルが開かれたときに、以下の javascript の一部を呼び出そうとしましたが、うまくいきませんでした。
$(window).scroll(function() { return false; });
AND
$(window).live('scroll', function() { return false; });
IE6に対応したウェブサイトはありません。
解決するには?
Bootstrapの
modal
は自動的にクラス
modal-open
は、モーダルダイアログが表示されたときに body に追加され、ダイアログが非表示になったときに削除されます。したがって、CSSに以下のように追加します。
body.modal-open {
overflow: hidden;
}
上記のコードはBootstrap CSSのコードベースに属すると主張することもできますが、これはあなたのサイトに追加するための簡単な修正です。
2013年2月8日更新
これは、Twitter Bootstrap v. 2.3.0 で動作しなくなりました。
modal-open
クラスを本文に追加します。
回避策としては、モーダルが表示されようとするときにボディにクラスを追加し、モーダルが閉じられたときにクラスを削除することです。
$("#myModal").on("show", function () {
$("body").addClass("modal-open");
}).on("hidden", function () {
$("body").removeClass("modal-open")
});
2013年3月11日更新
のようです。
modal-open
クラスが Bootstrap 3.0 で復活する予定です。
ボディに .modal-open を再導入(そこでスクロールをなくすことができます)。
こちらをご覧ください。 https://github.com/twitter/bootstrap/pull/6342 - を見る モーダル のセクションをご覧ください。
関連
-
要素ツリー制御によるvueTreeテーブル
-
元のイベントが実行されなかった後に要素を追加するためのjQueryソリューション
-
jQueryのコピーオブジェクトの説明
-
[解決済み】リソースの読み込みに失敗した:Bind関数でサーバーが500(Internal Server Error)のステータスで応答した【非公開
-
[解決済み】 `string.split is not a function` というエラーの原因は何ですか?
-
[解決済み】React Uncaught Error: 対象コンテナが DOM 要素でない [重複]。
-
HTML5 LocalStorage ローカルストレージとセッションストレージの使用法
-
[解決済み] ユーザーがEnterキーを押してフォームを送信できないようにする
-
[解決済み] アンカーリンクをクリックしたときのスクロールを滑らかにする
-
[解決済み] ボディのスクロールを防止し、オーバーレイのスクロールを可能にする
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
VUEグローバルフィルターの概念と留意点、基本的な使い方
-
Vueのクラススタイルの使い方の詳細
-
[解決済み] テスト
-
[解決済み】Uncaught SyntaxError: JSONの位置0に予期しないトークンuがあります。
-
[解決済み】GETできない / Nodejsエラー
-
[解決済み】React Nativeアプリをターミナルから実行するとエラーが発生する(iOS)
-
[解決済み】JavaScriptエラー(Uncaught SyntaxError: Unexpected end of input)
-
[解決済み】 Uncaught TypeError : undefined のプロパティ 'replace' を読み取れない In Grid
-
[解決済み] ボディのスクロールを防止し、オーバーレイのスクロールを可能にする
-
[解決済み] Overflow-x:hiddenはモバイルブラウザでコンテンツのはみ出しを防止しない