A JavaScript library that eliminates the 300ms click delay on touch-enabled mobile browsers for a more responsive UI.
FastClick is a JavaScript library that removes the 300ms delay between a physical tap and the firing of a click event on touch-enabled mobile browsers. It addresses a common performance issue where mobile web apps feel unresponsive due to the browser's wait for potential double-tap gestures. By immediately triggering synthetic click events, it makes interactions feel faster and more native.
Frontend developers and web application builders targeting mobile browsers who need to improve perceived responsiveness and eliminate laggy click interactions on touch devices.
Developers choose FastClick for its simplicity, reliability, and focused solution to a specific mobile web performance problem. It's lightweight, easy to integrate, and provides immediate improvements to user experience without complex configuration or interference with existing code.
Polyfill to remove click delays on browsers with touch UIs
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Immediately fires synthetic click events on touch devices, eliminating the 300ms delay and making mobile web apps feel snappier, as demonstrated in the basic use example.
Simple API with support for vanilla JS, jQuery, and module systems like Browserify or AMD; can be attached to the document body or specific elements with minimal setup.
Allows exclusion of elements using the 'needsclick' class, preventing interference with components like Bootstrap dropdowns or focus-triggering inputs that need native clicks.
Works on a wide range of older mobile browsers including iOS Safari, Chrome on Android (ICS), Opera Mobile, and Android Browser since Android 2, ensuring consistent behavior.
The README explicitly states that most mobile browsers no longer have a 300ms delay as of late 2015, making FastClick unnecessary and risking introduction of bugs like double-click issues.
Relies solely on manual test cases, which the README admits are browser/device specific and subjective, potentially leading to undiscovered reliability problems across environments.
Can interfere with other event-driven libraries or native behaviors, requiring additional workarounds like the 'needsclick' class, as seen with Bootstrap dropdowns where it causes immediate closure.