but mousedown won't work on the device.

you should bind both `mousedown` and `touchstart`, normally we should have one on the device and the other on the desktop