Обработчик событий Leaflet ‘dragend’ потерян после перетаскивания родительского элемента

#javascript #leaflet

#javascript #листовка

Вопрос:

события ‘mouseup’ и ‘dragend’ запускаются, когда вы перестаете перетаскивать карту, но событие перетаскивания листовки прекращает запускаться после перетаскивания родительского элемента

 <div class='dragBox'>
    <div class='header'>Title</div>
    <div class='mapContainer'>
        <div class='leaflet-container'>...</div>
    </div>
</div>
  

Перетаскивание ‘dragBox’ запускается обработчиком ‘mousedown’, прикрепленным к ‘header’, который удаляет ‘mousedown’ из ‘header’ и устанавливает ‘mousemove’ и ‘mouseup’ в document.body

наведите курсор мыши на документ.тело удаляет обработчики ‘mousemove’ и ‘mouseup’ из документа.тело и переустановка ‘mousdown’ в ‘header’

Все события устанавливаются el.addEventListener(eventName, обработчик) и удаляются el.removeEventListener(eventName, обработчик)

Интересно, почему моя обработка событий влияет на обработчики листовок и есть ли способ это исправить

Ответ №1:

Обновление с 1.6.0 до 1.7.1 решило проблему