add mouseenter and mouseleave support