add tap even handler