listen to 'touchstart' on mobile instead of click