onPointerMove sets this.isDragging, which prevents a tap after a drag. However, there's no thresholding, so any pointer movement at all prevents a click. This causes lots of clicks to be lost. Modern mice are extremely sensitive, and I often have to click 3-4 times before PhotoSwipe will recognize a click. It keeps seeing miniscule pointer movements between the press and release as my finger press causes the mouse to move slightly.
Normal browser click events do this thresholding automatically, but PhotoSwipe is using pointer events instead, so it doesn't take advantage of that. This makes PhotoSwipe really frustrating to use as I have to click over and over to zoom in and out. This may not have been a problem when this code was originally written (it looks like this project has been around for a long while!), but modern laser mice are precise to a fault.
onPointerMove sets this.isDragging, which prevents a tap after a drag. However, there's no thresholding, so any pointer movement at all prevents a click. This causes lots of clicks to be lost. Modern mice are extremely sensitive, and I often have to click 3-4 times before PhotoSwipe will recognize a click. It keeps seeing miniscule pointer movements between the press and release as my finger press causes the mouse to move slightly.
Normal browser click events do this thresholding automatically, but PhotoSwipe is using pointer events instead, so it doesn't take advantage of that. This makes PhotoSwipe really frustrating to use as I have to click over and over to zoom in and out. This may not have been a problem when this code was originally written (it looks like this project has been around for a long while!), but modern laser mice are precise to a fault.