dont stop propagation, it will cause bug if delegate event