use #within to prevent false mouseleave events