jQuery on() syntax is space-separated for multiple events, not comma-separated, so currently the tap event is never firing. Things appeared to be working because the click event would fire, but that's subject to the ~300ms delay. If we instead just listen for both tap and click [$body.on('tap click')], the handlers will be fired twice, once for tap and once for click. So, we can default to 'click' and if we detect that hammer is being used, we'll switch to 'tap'. If a user wants to use 'tap' events with a library besides hammer, they'll have to subclass Application and overwrite this bindLinkHandler method.