factored out a proper on-tap directive for responsive touch events