In our framework, we have for a very long time had a Q.Pointer class which contained functionality to normalize things between touchscreens and non-touchscreens. Among other things, it had the &quot;fastclick&quot; event: <a href="https:&#x2F;&#x2F;github.com&#x2F;Qbix&#x2F;Platform&#x2F;blob&#x2F;master&#x2F;platform&#x2F;plugins&#x2F;Q&#x2F;web&#x2F;js&#x2F;Q.js#L8825" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;Qbix&#x2F;Platform&#x2F;blob&#x2F;master&#x2F;platform&#x2F;plugin...</a><p>There is far more than simply relying on a &quot;click&quot; in touchscreens. For example the &quot;touchclick&quot; event is for those times when the keyboard disappears because focus has been lost in a textbox, but the click will still succeed: <a href="https:&#x2F;&#x2F;github.com&#x2F;Qbix&#x2F;Platform&#x2F;blob&#x2F;master&#x2F;platform&#x2F;plugins&#x2F;Q&#x2F;web&#x2F;js&#x2F;Q.js#L8825" rel="nofollow">https:&#x2F;&#x2F;github.com&#x2F;Qbix&#x2F;Platform&#x2F;blob&#x2F;master&#x2F;platform&#x2F;plugin...</a><p>Also, drag-drop is broken in touchscreens WebKit so you have to roll your own, and much more.<p>You&#x27;re better off using a library.