¿Cómo podría detener la propagación de hacer clic y desplazarse en un div, superponiendo un mapa de folleto? Eso parece ser muy complicado ... Algo así

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

document.getElementById('no-scrolling-clicking').onmousewheel =
    function (e) {
        document.getElementById('prevent-scrolling').scrollTop -= e.wheelDeltaY;
        customPreventDefault(e);
    }
}

No hace nada También necesita trabajar en IE ...

http://jsfiddle.net/LnzN2/4888/

5
Stophface 13 sep. 2018 a las 11:13

3 respuestas

La mejor respuesta

leaflet ofrece una funcionalidad para esto.

  var div = L.DomUtil.get('no-scrolling-clicking');
  L.DomEvent.on(div, 'mousewheel', L.DomEvent.stopPropagation);
  L.DomEvent.on(div, 'click', L.DomEvent.stopPropagation);
0
Stophface 14 sep. 2018 a las 08:47

Puede aprovechar el folleto incorporado Función de utilidad L.DomEvent.disableScrollPropagation(element) para evitar que el desplazamiento en sus elementos personalizados se propague al mapa subyacente.

var el = document.getElementById('no-scrolling-clicking');
L.DomEvent.disableScrollPropagation(el);

JSFiddle actualizado: http://jsfiddle.net/LnzN2/4929/

Aunque esta función no se menciona en los documentos para el Folleto 0.7.x, Ya está disponible.

Se encarga de las variantes del navegador por usted.

Tenga en cuenta que debería considerar actualizar a Leaflet 1+ (la versión estable actual es 1.3.4).

0
ghybs 14 sep. 2018 a las 08:42

Mueva su parent-div fuera del div. map.

Cambia tu HTML a:

<div 
  id="map">

</div>
<div 
  id='parent-div'
  class='some-div'>
   I am the parent! Like the leaflet map, I don't want the mouse events clicking/scrolling bubbling onto me neither.
    <div 
      class='some-div'
      id='no-scrolling-clicking'>
      Stop Scrolling and clicking Event in me! Stop Scrolling and clicking Event in me! Stop Scrolling and clicking Event in me! Stop Scrolling and clicking Event in me! Stop Scrolling and clicking Event in me! Stop Scrolling and clicking Event in me! Stop Scrolling and clicking Event in me! Stop Scrolling and clicking Event in me! Stop Scrolling and clicking Event in me! Stop Scrolling and clicking Event in me!
    </div>
  </div>
0
Worm 13 sep. 2018 a las 23:56