fix bug where mouseEnter event.target can be an inner element