Estoy realizando algunas acciones en el evento onMousedown. Pero luego también se ejecutan para arrastrar cuando el arrastre comienza con el mouse hacia abajo.
¿Cómo puedo asegurarme de que las acciones con el mouse hacia abajo no ocurran al arrastrar el mouse?
Nota: estoy usando scalajs-react, aunque eso no debe importar.
Los eventos de arrastre del mouse activan un evento de tipo DragEvent , el mouse hacia abajo activa solo MouseEvent . Puede diferenciar ambos validando el atributo dataTransfer , que solo está presente en DragEvent , así:
function functionTriggeredOnMouseDownAndDrag(evt) { if (typeof evt.dataTransfer !== 'undefined') { // code for mouse drag } else { // code for other mouse events } } element.addEventListener('mousedown', functionTriggeredOnMouseDownAndDrag) element.addEventListener('mousemove', functionTriggeredOnMouseDownAndDrag)