Estoy creando una aplicación que se usará para dispositivos táctiles y de mouse donde sus respectivos eventos se manejan de manera ligeramente diferente.
La práctica estándar para esto es usar e.preventDefault() en touchstart porque se activa antes de presionar el mouse. preventDefault evita que se llame al evento mousedown.
En mi situación, estoy completamente de acuerdo con deshabilitar casi todas las acciones 'predeterminadas' de todos los eventos de tocar/hacer clic en toda la aplicación, excepto un aspecto que es el desplazamiento.
He intentado algunas soluciones alternativas para esto pasando variables, pero no es del todo sólido.
Me pregunto cuál sería la mejor manera de replicar el movimiento predeterminado de desplazamiento usando e.preventDefault en mousestart y en mousemove (y, por lo tanto, deshabilitarlo). Puedo pensar en la forma estándar de simplemente escuchar onscroll, calcular el desplazamiento del movimiento del mouse y aplicarlo al scrollY del elemento en cuestión, pero eso podría consumir batería debido al uso excesivo de javascript (aunque tal vez no es muy diferente del desplazamiento nativo?). Esto es importante ya que mi aplicación es similar a un lector electrónico. Además, también tendría que replicar manualmente el desplazamiento de 'toque', lo que puede no parecer tan natural.
¡Cualquier pensamiento sería apreciado!