Impedisci a BODY di scorrere quando viene aperto un modale


346

Voglio che il mio corpo smetta di scorrere quando uso la rotellina del mouse mentre Modal (da http://twitter.github.com/bootstrap ) sul mio sito Web è aperto.

Ho provato a chiamare il pezzo di javascript sotto quando il modale è aperto ma senza successo

$(window).scroll(function() { return false; });

E

$(window).live('scroll', function() { return false; });

Tuttavia, il nostro sito Web ha perso il supporto per IE6, IE7 + deve essere compatibile.

Risposte:


468

Bootstrap modalaggiunge automaticamente la classe modal-openal corpo quando viene mostrata una finestra di dialogo modale e la rimuove quando la finestra di dialogo è nascosta. È quindi possibile aggiungere quanto segue al CSS:

body.modal-open {
    overflow: hidden;
}

Potresti sostenere che il codice sopra appartiene alla base di codice CSS di Bootstrap, ma questa è una soluzione semplice per aggiungerlo al tuo sito.

Aggiornamento 8 febbraio 2013
Questo ora ha smesso di funzionare in Twitter Bootstrap v. 2.3.0 - non aggiungono più la modal-openclasse al corpo.

Una soluzione alternativa sarebbe quella di aggiungere la classe al corpo quando il modale sta per essere mostrato e rimuoverlo quando il modale è chiuso:

$("#myModal").on("show", function () {
  $("body").addClass("modal-open");
}).on("hidden", function () {
  $("body").removeClass("modal-open")
});

Aggiornamento dell'11 marzo 2013 Sembra che la modal-openclasse tornerà in Bootstrap 3.0, esplicitamente allo scopo di impedire lo scorrimento:

Reintroduce .modal-open sul corpo (così possiamo nuke lì)

Vedi questo: https://github.com/twitter/bootstrap/pull/6342 - guarda la sezione modale .


2
questo non funziona più in bootstrap 2.2.2. Speriamo che .modal-open tornerà in futuro ... github.com/twitter/bootstrap/issues/5719
ppetrid

2
@ppetrid Non mi aspetto che ritorni. Sulla base di questo scritto: github.com/twitter/bootstrap/wiki/Upcoming-3.0-changes (guarda in fondo). Citazione: "Niente più scorrimento modale interno. Invece, i modali cresceranno per ospitare il loro contenuto e lo scorrimento della pagina per ospitare il modale."
MartinHN,

2
@Bagata Cool: modal-opentornerà in Bootstrap 3, quindi quando si avvia dovrebbe essere sicuro rimuovere il codice sopra.
MartinHN,

2
Questo è il motivo per cui si dovrebbe continuare a scorrere verso il basso, se la risposta scelta non ti soddisfa, ci sono possibilità che troverai gemme come queste. non mi aspettavo una risposta votata al 97+ seppellita così in profondità sotto altri commenti meno graditi.
Mohd Abdul Mujib,

2
il problema è che per impedire al documento di scorrere verso l'alto quando viene aperto un modale è necessario aggiungere body.modal-open {overflow: visible}. La tua soluzione funziona al momento, con il rovescio della medaglia che il documento scorre verso l'alto una volta aperto un modale
patrick,

120

La risposta accettata non funziona sui dispositivi mobili (almeno iOS 7 con Safari 7) e non voglio che MOAR JavaScript sia in esecuzione sul mio sito quando CSS funzionerà.

Questo CSS impedisce alla pagina di sfondo di scorrere sotto il modale:

body.modal-open {
    overflow: hidden;
    position: fixed;
}

Tuttavia, ha anche un leggero effetto collaterale di scorrere essenzialmente verso l'alto. position:absoluterisolve questo problema, ma reintroduce la possibilità di scorrere sui dispositivi mobili.

Se conosci il tuo viewport (il mio plugin per aggiungere viewport al<body> ) puoi semplicemente aggiungere un css toggle per il position.

body.modal-open {
    // block scroll for mobile;
    // causes underlying page to jump to top;
    // prevents scrolling on all screens
    overflow: hidden;
    position: fixed;
}
body.viewport-lg {
    // block scroll for desktop;
    // will not jump to top;
    // will not prevent scroll on mobile
    position: absolute; 
}

Aggiungo anche questo per evitare che la pagina sottostante salti a sinistra / a destra quando mostra / nasconde modali.

body {
    // STOP MOVING AROUND!
    overflow-x: hidden;
    overflow-y: scroll !important;
}

questa risposta è un post x.


7
Grazie! I cellulari (almeno il browser nativo iOS e Android) mi davano mal di testa e non funzionavano senza position: fixedil corpo.
Raul Rene,

Grazie per aver incluso anche il codice per impedire alla pagina di saltare a sinistra / a destra quando si mostrano / nascondono i modali. Questo è stato estremamente utile e ho verificato che risolve un problema che stavo riscontrando su Safari su un iPhone 5c con iOS 9.2.1.
Elia Lofgren,

6
Per correggere lo scorrimento verso l'alto, è possibile registrare la posizione prima di aggiungere la classe, quindi dopo che la classe è stata rimossa, eseguire window.scroll nella posizione registrata. Ecco come l'ho risolto da solo: pastebin.com/Vpsz07zd .
Strumento

Sebbene ritenga che ciò si adattasse solo a bisogni di base, è stata una soluzione utile. Grazie.
Steve Benner,

33

Basta nascondere il trabocco del corpo e impedisce al corpo di scorrere. Quando nascondi il modale, ripristinalo in automatico.

Ecco il codice:

$('#adminModal').modal().on('shown', function(){
    $('body').css('overflow', 'hidden');
}).on('hidden', function(){
    $('body').css('overflow', 'auto');
})

Eccellente! Questo mi ha aiutato. Grazie.
pfcodes

21

Potresti provare a impostare la dimensione del corpo sulla dimensione della finestra con overflow: nascosto quando modale è aperto


12
farlo sposterebbe lo schermo ogni volta che si apre il modale, il che non è conveniente, ho solo bisogno di disabilitare lo scorrimento dello sfondo
xorinzor

non sono sicuro che puoi
scorrere le

potresti impostare modale su "fisso", quindi non ti
muoverai

8
non si tratta di fermare lo scorrimento del modale, si tratta di fermare lo scorrimento del corpo in background
xorinzor

1
è la finestra che scorre se il corpo lo trabocca. Ad esempio le barre di scorrimento non fanno parte del documento.
charlietfl

18

Devi andare oltre la risposta di @ charlietfl e l'account per le barre di scorrimento, altrimenti potresti vedere un reflow del documento.

Apertura del modale:

  1. Registra la bodylarghezza
  2. Imposta bodyoverflow suhidden
  3. Impostare esplicitamente la larghezza del corpo su come era nel passaggio 1.

    var $body = $(document.body);
    var oldWidth = $body.innerWidth();
    $body.css("overflow", "hidden");
    $body.width(oldWidth);

Chiusura del modale:

  1. Imposta bodyoverflow suauto
  2. Imposta bodylarghezza suauto

    var $body = $(document.body);
    $body.css("overflow", "auto");
    $body.width("auto");

Ispirato da: http://jdsharp.us/jQuery/minute/calculate-scrollbar-width.php


Stavo ottenendo uno schermo "instabile" per mancanza di un termine migliore e la chiave qui per me stava seguendo le impostazioni di larghezza. Grazie mille.
Hcabnettek,

1
@Hcabnettek Yep: "jumpy" == "reflow del documento". Sono contento che ti abbia aiutato! :-)
jpap,

c'è una soluzione CSS per questo? funziona in tutti i browser e dispositivi mobili?
Ruben,

solo un errore di battitura: deve essere $body.css("overflow", "auto");nell'ultimo passaggio :)
schneikai,

Oh amico, che idea meravigliosa. @jpap mi hai aiutato a risolvere il problema di ridistribuzione del documento che mi infastidiva da molto tempo.
Goran Radulovic,

17

Avvertenza: l'opzione seguente non è rilevante per Bootstrap v3.0.x, poiché lo scorrimento in tali versioni è stato esplicitamente limitato al modale stesso. Se disabiliti gli eventi ruota, potresti inavvertitamente impedire ad alcuni utenti di visualizzare il contenuto in modali con altezze superiori all'altezza della finestra.


Ancora un'altra opzione: eventi su ruote

L' evento di scorrimento non è annullabile. Tuttavia è possibile annullare la rotellina e ruota eventi. Il grande avvertimento è che non tutti i browser legacy li supportano, Mozilla ha recentemente aggiunto il supporto per quest'ultimo in Gecko 17.0. Non conosco la diffusione completa, ma IE6 + e Chrome li supportano.

Ecco come sfruttarli:

$('#myModal')
  .on('shown', function () {
    $('body').on('wheel.modal mousewheel.modal', function () {
      return false;
    });
  })
  .on('hidden', function () {
    $('body').off('wheel.modal mousewheel.modal');
  });

JSFiddle


Il tuo JSFiddle non funziona su Firefox 24, Chrome 24 né su IE9.
AxeEffect,

@AxeEffect dovrebbe funzionare ora. L'unico problema era che i riferimenti esterni alla libreria Bootstrap erano cambiati. Grazie per il testa a testa.
Merv,

2
Questo non impedisce lo scorrimento dei dispositivi touch, overflow:hiddenper ora è meglio.
Webinan,

5
funzionano tutti ma non per i dispositivi mobili. -__- Testato per Android 4.1 e Chrome
Tower Jimmy,

@TowerJimmy probabilmente dovrai annullare il tocco o trascinare gli eventi per quello (se è possibile)
xorinzor

9
/* =============================
 * Disable / Enable Page Scroll
 * when Bootstrap Modals are
 * shown / hidden
 * ============================= */

function preventDefault(e) {
  e = e || window.event;
  if (e.preventDefault)
      e.preventDefault();
  e.returnValue = false;  
}

function theMouseWheel(e) {
  preventDefault(e);
}

function disable_scroll() {
  if (window.addEventListener) {
      window.addEventListener('DOMMouseScroll', theMouseWheel, false);
  }
  window.onmousewheel = document.onmousewheel = theMouseWheel;
}

function enable_scroll() {
    if (window.removeEventListener) {
        window.removeEventListener('DOMMouseScroll', theMouseWheel, false);
    }
    window.onmousewheel = document.onmousewheel = null;  
}

$(function () {
  // disable page scrolling when modal is shown
  $(".modal").on('show', function () { disable_scroll(); });
  // enable page scrolling when modal is hidden
  $(".modal").on('hide', function () { enable_scroll(); });
});

9

Non riuscivo a farlo funzionare su Chrome semplicemente cambiando CSS, perché non volevo che la pagina tornasse all'inizio. Questo ha funzionato bene:

$("#myModal").on("show.bs.modal", function () {
  var top = $("body").scrollTop(); $("body").css('position','fixed').css('overflow','hidden').css('top',-top).css('width','100%').css('height',top+5000);
}).on("hide.bs.modal", function () {
  var top = $("body").position().top; $("body").css('position','relative').css('overflow','auto').css('top',0).scrollTop(-top);
});

1
questa è l'unica soluzione che ha funzionato per me su bootstrap 3.2.
volx757,

1
Ha avuto il salto in alto con i sidenav in materiale angolare. Questa è stata l'unica risposta che sembra funzionare in tutti i casi (desktop / mobile + consenti scorrimento in modale / sidenav + lascia fissa la posizione di scorrimento del corpo senza saltare).
cYrixmorten,

Questa è anche l'unica soluzione che ha funzionato per me. tx
Deedz,

ha funzionato per me, bootstrap v4
Deano,

9

Prova questo:

.modal-open {
    overflow: hidden;
    position:fixed;
    width: 100%;
    height: 100%;
}

ha funzionato per me. (supporta IE8)


4
Funziona ma ti fa anche saltare in cima quando apri un modale quando lo usi position: fixed.
AlexioVay,

8

Per Bootstrap , si potrebbe provare questo (lavorando su Firefox, Chromee Microsoft Edge):

body.modal-open {
    overflow: hidden;
    position:fixed;
    width: 100%;
}

Spero che sia di aiuto...


7

Aggiungere la classe 'is-modal-open' o modificare lo stile del body tag con javascript va bene e funzionerà come dovrebbe. Ma il problema che dovremo affrontare è quando il corpo diventa troppo pieno: nascosto, salterà in cima, (scrollTop diventerà 0). Questo diventerà un problema di usabilità in seguito.

Come soluzione per questo problema, invece di modificare l'overflow dei tag body: nascosto modificarlo sul tag html

$('#myModal').on('shown.bs.modal', function () {
  $('html').css('overflow','hidden');
}).on('hidden.bs.modal', function() {
  $('html').css('overflow','auto');
});

1
Questa è assolutamente la risposta corretta perché la risposta di consenso generale fa scorrere la pagina verso l'alto, il che è un'esperienza orribile per l'utente. Dovresti scrivere un blog su questo. Ho finito per trasformarlo in una soluzione globale.
Smith,

Questo non funzionerà su iPhone.
Badri Narayanan Sridharan,

6

Non sono sicuro di questo codice, ma vale la pena provare.

In jQuery:

$(document).ready(function() {
    $(/* Put in your "onModalDisplay" here */)./* whatever */(function() {
        $("#Modal").css("overflow", "hidden");
    });
});

Come ho detto prima, non sono sicuro al 100% ma provaci comunque.


1
Questo non impedisce al corpo di scorrere mentre il modale è aperto
xorinzor

@xorinzor hai dichiarato nella sezione commenti della risposta di charlietfl che funziona. Ma hai detto: questo non impedisce al corpo di scorrere mentre il modale è aperto.
Anish Gupta,

vero ma per ora è l'unica soluzione che funziona in parte e sto bene. il motivo per cui ho contrassegnato la sua risposta come risposta è perché era in precedenza con la risposta.
xorinzor,

@xorinzor davvero, pensavo di aver risposto prima di lui / lei, potrebbe essere uno strano problema tecnico. va bene però
Anish Gupta


4

La soluzione migliore è la body{overflow:hidden}soluzione solo CSS utilizzata dalla maggior parte di queste risposte. Alcune risposte forniscono una soluzione che impedisce anche il "salto" causato dalla barra di scorrimento che scompare; tuttavia, nessuno era troppo elegante. Quindi, ho scritto queste due funzioni e sembrano funzionare abbastanza bene.

var $body = $(window.document.body);

function bodyFreezeScroll() {
    var bodyWidth = $body.innerWidth();
    $body.css('overflow', 'hidden');
    $body.css('marginRight', ($body.css('marginRight') ? '+=' : '') + ($body.innerWidth() - bodyWidth))
}

function bodyUnfreezeScroll() {
    var bodyWidth = $body.innerWidth();
    $body.css('marginRight', '-=' + (bodyWidth - $body.innerWidth()))
    $body.css('overflow', 'auto');
}

Scopri questo jsFiddle per vederlo in uso.


Questo non è così vecchio ma niente di tutto questo funziona per me, nemmeno il violino posso ancora scorrere la finestra, cosa mi sto perdendo?
sbarcò il

Apri e chiudi il modale alcune volte e il DIV verde principale si restringe e si restringe!
Webinan,

@Webinan Non lo vedo in Chrome su Win7. Qual è il tuo browser e le dimensioni del viewport?
Stephen M. Harris,

1
@smhmic dopo circa 20 volte di apertura e chiusura la larghezza del div verde diventa uguale alla open modallarghezza dei pulsanti. Chrome su 8
Webinan il

Simile alla risposta di @ jpap ( stackoverflow.com/a/16451821/5516499 ), ma con gli insetti aggiunti. :-(
Kivi Shapiro,

4

Molti suggeriscono "overflow: nascosto" sul corpo, che non funzionerà (almeno nel mio caso), poiché farà scorrere il sito Web verso l'alto.

Questa è la soluzione che funziona per me (sia su telefoni cellulari che su computer), usando jQuery:

    $('.yourModalDiv').bind('mouseenter touchstart', function(e) {
        var current = $(window).scrollTop();
        $(window).scroll(function(event) {
            $(window).scrollTop(current);
        });
    });
    $('.yourModalDiv').bind('mouseleave touchend', function(e) {
        $(window).off('scroll');
    });

Ciò consentirà allo scorrimento del modale di funzionare e impedirà lo scorrimento del sito Web contemporaneamente.


Sembra che questa soluzione risolva
Gotenks

3

Potresti usare la seguente logica, l'ho testata e funziona (anche in IE)

   <html>

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script>
<script type="text/javascript">

var currentScroll=0;
function lockscroll(){
    $(window).scrollTop(currentScroll);
}


$(function(){

        $('#locker').click(function(){
            currentScroll=$(window).scrollTop();
            $(window).bind('scroll',lockscroll);

        })  


        $('#unlocker').click(function(){
            currentScroll=$(window).scrollTop();
            $(window).unbind('scroll');

        })
})

</script>

<div>

<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<button id="locker">lock</button>
<button id="unlocker">unlock</button>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br>

</div>

2

Non sono sicuro al 100% che funzionerà con Bootstrap ma vale la pena provare - ha funzionato con Remodal.js che può essere trovato su github: http://vodkabears.github.io/remodal/ e avrebbe senso per i metodi essere abbastanza simile.

Per interrompere il salto della pagina verso l'alto e impedire anche il corretto spostamento del contenuto, aggiungi una classe al bodymomento in cui viene attivato il modale e imposta queste regole CSS:

body.with-modal {
    position: static;
    height: auto;
    overflow-y: hidden;
}

È il position:statice il height:autoche si combinano per fermare il salto del contenuto a destra. La overflow-y:hidden;ferma pagina dall'essere scorrevole dietro la modale.


Questa soluzione funziona perfettamente per me in Safari 11.1.1, Chrome 67.0.3396.99 e Firefox 60.0.2. Grazie!
Dom

2

Basato su questo violino: http://jsfiddle.net/dh834zgw/1/

il frammento seguente (usando jquery) disabiliterà lo scorrimento della finestra:

 var curScrollTop = $(window).scrollTop();
 $('html').toggleClass('noscroll').css('top', '-' + curScrollTop + 'px');

E nel tuo css:

html.noscroll{
    position: fixed;
    width: 100%;
    top:0;
    left: 0;
    height: 100%;
    overflow-y: scroll !important;
    z-index: 10;
 }

Ora, quando rimuovi il modale, non dimenticare di rimuovere la classe noscroll dal tag html:

$('html').toggleClass('noscroll');

Non dovrebbe overflowessere impostato su hidden? +1 anche se questo ha funzionato per me (usando hidden).
mhulse,

2

Avevo una barra laterale generata dall'hack della casella di controllo. Ma l'idea principale è quella di salvare il documento scrollTop e di non modificarlo durante lo scorrimento della finestra.

Semplicemente non mi piaceva il salto della pagina quando il corpo diventa "trabocco: nascosto".

window.addEventListener('load', function() {
    let prevScrollTop = 0;
    let isSidebarVisible = false;

    document.getElementById('f-overlay-chkbx').addEventListener('change', (event) => {
        
        prevScrollTop = window.pageYOffset || document.documentElement.scrollTop;
        isSidebarVisible = event.target.checked;

        window.addEventListener('scroll', (event) => {
            if (isSidebarVisible) {
                window.scrollTo(0, prevScrollTop);
            }
        });
    })

});


2

Purtroppo nessuna delle risposte di cui sopra ha risolto i miei problemi.

Nella mia situazione, la pagina Web originariamente ha una barra di scorrimento. Ogni volta che faccio clic sul modale, la barra di scorrimento non scompare e l'intestazione si sposta leggermente verso destra.

Quindi ho provato ad aggiungere .modal-open{overflow:auto;}(cosa che la maggior parte delle persone ha raccomandato). Ha infatti risolto i problemi: la barra di scorrimento appare dopo aver aperto il modale. Tuttavia, viene fuori un altro effetto collaterale che è che "lo sfondo sotto l'intestazione si sposterà leggermente a sinistra, insieme a un'altra lunga barra dietro il modale"

Barra lunga dietro modale

Fortunatamente, dopo aver aggiunto {padding-right: 0 !important;}, tutto è stato risolto perfettamente. Sia l'intestazione che lo sfondo del corpo non si sono mossi e il modale mantiene ancora la barra di scorrimento.

Immagine fissa

Spero che questo possa aiutare coloro che sono ancora bloccati da questo problema. In bocca al lupo!


1

La maggior parte dei pezzi sono qui, ma non vedo alcuna risposta che metta tutto insieme.

Il problema è triplice.

(1) impedisce lo scorrimento della pagina sottostante

$('body').css('overflow', 'hidden')

(2) e rimuovere la barra di scorrimento

var handler = function (e) { e.preventDefault() }
$('.modal').bind('mousewheel touchmove', handler)

(3) ripulire quando il modale viene respinto

$('.modal').unbind('mousewheel touchmove', handler)
$('body').css('overflow', '')

Se il modale non è a schermo intero, applica i collegamenti .modal a un overlay a schermo intero.


4
Ciò impedisce anche lo scorrimento all'interno del modale.
Daniel,

Stesso problema. Hai trovato una soluzione? @Daniel
AlexioVay

@Vay Sort of. Dai
Daniel

1

La mia soluzione per Bootstrap 3:

.modal {
  overflow-y: hidden;
}
body.modal-open {
  margin-right: 0;
}

perché per me l'unico overflow: hiddendella body.modal-openclasse non ha impedito lo spostamento della pagina a sinistra a causa dell'originale margin-right: 15px.


1

L'ho appena fatto in questo modo ...

$('body').css('overflow', 'hidden');

Ma quando lo scroller è scomparso, ha spostato tutto correttamente 20px, quindi ho aggiunto

$('body').css('margin-right', '20px');

subito dopo.

Per me va bene.


Funziona solo se il modale è più piccolo delle dimensioni dello schermo.
Sergey,

1

Se i modali sono al 100% in altezza / larghezza "mouseenter / lasciare" funzionerà per abilitare / disabilitare facilmente lo scorrimento. Questo ha funzionato davvero per me:

var currentScroll=0;
function lockscroll(){
    $(window).scrollTop(currentScroll);
} 
$("#myModal").mouseenter(function(){
    currentScroll=$(window).scrollTop();
    $(window).bind('scroll',lockscroll); 
}).mouseleave(function(){
    currentScroll=$(window).scrollTop();
    $(window).unbind('scroll',lockscroll); 
});

1

ha funzionato per me

$('#myModal').on({'mousewheel': function(e) 
    {
    if (e.target.id == 'el') return;
    e.preventDefault();
    e.stopPropagation();
   }
});

1

Perché non farlo come fa Bulma? Quando modale è attivo, quindi aggiungi a html la loro classe. È troncata che è overflow: nascosto! Importante; E questo è tutto.

Modifica: Okey, Bulma ha questo bug, quindi devi aggiungere anche altre cose come

html.is-modal-active {
  overflow: hidden !important;
  position: fixed;
  width: 100%; 
}

1

Poiché per me questo problema si è presentato principalmente su iOS, fornisco il codice per risolvere questo problema solo su iOS:

  if(!!navigator.platform && /iPad|iPhone|iPod/.test(navigator.platform)) {
    var $modalRep    = $('#modal-id'),
        startScrollY = null, 
        moveDiv;  

    $modalRep.on('touchmove', function(ev) {
      ev.preventDefault();
      moveDiv = startScrollY - ev.touches[0].clientY;
      startScrollY = ev.touches[0].clientY;
      var el = $(ev.target).parents('#div-that-scrolls');
      // #div-that-scrolls is a child of #modal-id
      el.scrollTop(el.scrollTop() + moveDiv);
    });

    $modalRep.on('touchstart', function(ev) {
      startScrollY = ev.touches[0].clientY;
    });
  }

1

Nessuna delle risposte sopra ha funzionato perfettamente per me. Quindi ho trovato un altro modo che funziona bene.

Basta aggiungere un scroll.(namespace)ascoltatore e insieme scrollTopdel documentl'ultimo di esso di valore ...

e rimuovi anche l'ascoltatore nel tuo script vicino.

// in case of bootstrap modal example:
$('#myModal').on('shown.bs.modal', function () {

  var documentScrollTop = $(document).scrollTop();
  $(document).on('scroll.noScroll', function() {
     $(document).scrollTop(documentScrollTop);
     return false;
  });

}).on('hidden.bs.modal', function() {

  $(document).off('scroll.noScroll');

});

aggiornare

sembra, questo non funziona bene su Chrome. qualche suggerimento per risolverlo?


0

Questo ha funzionato per me:

$("#mymodal").mouseenter(function(){
   $("body").css("overflow", "hidden"); 
}).mouseleave(function(){
   $("body").css("overflow", "visible");
});

0

Per chi si chiede come ottenere l'evento scroll per il bootstrap 3 modale:

$(".modal").scroll(function() {
    console.log("scrolling!);
});
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.