Bootstraps modal
fügen die Klasse automatisch modal-open
zum Body hinzu, wenn ein modaler Dialog angezeigt wird, und entfernen sie, wenn der Dialog ausgeblendet ist. Sie können Ihrem CSS daher Folgendes hinzufügen:
body.modal-open {
overflow: hidden;
}
Sie könnten argumentieren, dass der obige Code zur Bootstrap-CSS-Codebasis gehört, aber dies ist eine einfache Lösung, um ihn Ihrer Site hinzuzufügen.
Update 8. Februar 2013
Dies funktioniert jetzt nicht mehr in Twitter Bootstrap v. 2.3.0 - die modal-open
Klasse wird nicht mehr zum Body hinzugefügt .
Eine Problemumgehung besteht darin, die Klasse dem Body hinzuzufügen, wenn das Modal angezeigt werden soll, und sie zu entfernen, wenn das Modal geschlossen wird:
$("#myModal").on("show", function () {
$("body").addClass("modal-open");
}).on("hidden", function () {
$("body").removeClass("modal-open")
});
Update 11. März 2013 Es
sieht so aus, als würde die modal-open
Klasse in Bootstrap 3.0 zurückkehren, explizit um das Scrollen zu verhindern:
Führt .modal-open am Körper wieder ein (damit wir die Schriftrolle dort nuklearisieren können)
Siehe hierzu: https://github.com/twitter/bootstrap/pull/6342 - siehe Abschnitt Modal .