fix event propagation issue