Verhindert das Scrollen von Seiten beim Scrollen eines DIV während der [Violation] Warnung in der Konsole

8

Zuerst scheint dies eine doppelte Frage zu sein, hier , aber da muss noch mehr herausgefunden werden.

Wie kann ich unter [Violation] warning in der Google Chrome-Konsole beheben?

  

[Violation] Zu einer Scroll-Blockierung wurde ein nicht passiver Ereignis-Listener hinzugefügt   'Mausrad' Ereignis. Erwägen Sie, den Ereignishandler als 'passiv' zu markieren   die Seite reaktionsfähiger machen.

Hier ist das Code-Snippet, das aber mit der oben erwähnten [Violation] Warnung funktioniert.

%Vor% %Vor% %Vor%

Hier ist, wie ich versucht habe, es mit Modernizr passiveeventlisteners mit diesem Code Modernizr.passiveeventlisteners ? {passive:true} : false zu beheben, während ich einer Antwort folgte hier . Aber ich bekomme diese Fehlermeldung in der Konsole:

  

Es ist nicht möglich, Default innerhalb des passiven Ereignis-Listener-Aufrufs zu verhindern.

Es ist für mich klar, dass ich e.preventDefault() nicht verwenden kann, während {passive:true} verwendet wird, und das macht Sinn. Ich möchte nur wissen, wie ich Seitenrollen beim Scrollen eines DIV verhindern kann, während die Warnung [Violation] in der Konsole aufgelöst wird.

Hier ist das Code-Snippet, das nicht funktioniert und den oben erwähnten Fehler in der Konsole erzeugt.

%Vor% %Vor% %Vor%

Oder mache ich die Dinge unnötig kompliziert, weil es nur mit CSS erreicht werden kann?

    
Syed 29.07.2017, 08:37
quelle

2 Antworten

3

Update1:

Dies ist eine reine CSS-Option für Webkit-Browser, die die Eigenschaft ::-webkit-scrollbar verwenden.

%Vor% %Vor%

Würde so etwas funktionieren? Wenn Sie den Mauszeiger über das Scroll-Div bewegen, schalten Sie eine Klasse auf dem Body oder einem anderen übergeordneten Element mit einem Überlauf von hidden um und verhindern so, dass der Parent-Scroll über CSS erfolgt.

%Vor% %Vor% %Vor%
    
Austen Holland 31.07.2017 17:10
quelle
1

Sieh dir diese Geige an. Der Schlüsseltrick in meiner Antwort ist das Trennen der beiden Schriftrollen. In Ihrem Beispiel hatte der Körper die Schriftrolle, also hatte das feste Div einen Container mit Scroll. Wenn Sie ein Containerelement für die P-in-Bodies erstellen, in dem sich die Rolle befindet, und den festen Inhalt außerhalb platzieren, können Sie dies umgehen.

HTML (hinzugefügt den Container-Wrapper):

%Vor%

CSS (HTML geändert, body & amp; hinzugefügt #container):

%Vor%     
Tomato 05.08.2017 11:59
quelle