After modifying the href attribute of the d3 element use, why does the bound event no longer work?

the code is as follows:

d3.select("-sharpaaa").append("use")
            .attr("id", "bbb")
            .attr("x", 8)
            .attr("y",a8)
            .attr("xlink:href","-sharppoint")
            .on("mouseenter",over)
            .on("mouseout",leave);
function over(){
   let $thisDom=d3.select(this);
   $thisDom.attr("xlink:href","-sharpclickPoint");
}
function leave(){
   console.log("888");
}
The

over function modifies the href attribute of the use element and can be executed normally, but the log in the leave function is not printed. Is it because the modified href becomes another element that the binding event disappears?

Mar.03,2021

has encountered the same problem now, but it has not been solved in the end

.
Menu