Estoy usando la lista ordenable de Framework7 y funciona bien, solo que no activa un evento cuando se cambia la lista.
Así que estoy probando algunos eventos integrados:
$('.sortable-handler').on('touchstart', function (e) { e.preventDefault(); alert('touchstart'); }); $('.sortable-handler').on('touchmove', function (e) { e.preventDefault(); console.log('touchmove'); }); $('.sortable-handler').on('touchcancel', function (e) { e.preventDefault(); console.log('touchcancel'); }); $('.sortable-handler').mouseleave(function (e) { e.preventDefault(); console.log('mouseleave'); });.. pero todo lo que obtengo es:
No se puede prevenir el detector de eventos pasivo interno predeterminado debido a que el objetivo se trata como pasivo. Consulte https://www.chromestatus.com/features/5093566007214080
¿Qué evento debo buscar para obtener la lista actualizada en cada tipo?
Vea estaentrada de blog . Si llama a preventDefault en cada touchstart , también debe tener una regla CSS para deshabilitar el desplazamiento táctil como
.sortable-handler { touch-action: none; }Para mí
document.addEventListener("mousewheel", this.mousewheel.bind(this), { passive: false }); hizo el truco (la parte { passive: false } ).
En JS simple, agregue { passive: false } como tercer argumento
document.addEventListener('wheel', function(e) { e.preventDefault(); doStuff(e); }, { passive: false });