鼠标离开并不总是在我的按钮悬停时触发

mouseleave not always triggered when my button is hovered

本文关键字:悬停 按钮 我的 离开 鼠标      更新时间:2023-09-26

当鼠标悬停时,我使用此代码来突出显示我的按钮:

$("#fileupload").mouseenter(function () {
    $("#myLink").css("background-color", "#495461");
}).mouseleave(function () {
    $("#myLink").css("background-color", "#3C454F");
});  

它可以工作,但当单击该按钮时(因此鼠标悬停),会显示一个模式窗口来选择文件,因此在这种情况下,鼠标离开永远不会继续。

我的问题:当显示此模式时,如何修复此问题以使我的背景颜色恢复到"正常"(#3C454F)。我宁愿避免在点击这个按钮后放置一些代码,但要像上面那样将所有内容集中在一组代码中,因为在这里我简化了问题。。。

这应该使用CSS和:hover伪类来完成。

只需将此CSS规则添加到您的样式中即可。

#myLink {
  background-color:  #495461;
}
#myLink:hover {
  background-color:  #3C454F;
}

$("#fileupload').mouseleave的相同行为添加到$("#myLink").click事件

只需使用.haverage():

$("#fileupload").hover(
    function () {
        $("#myLink").css("background-color", "#495461");
    },
    function () {
        $("#myLink").css("background-color", "#3C454F");
    }
);

.haverage()的jQuery文档

改为使用JQuery悬停,它应该可以工作。

您的代码应该是:

$("#fileupload").hover(
    function () {
        $("#myLink").css("background-color", "#495461");
    },
    function () {
        $("#myLink").css("background-color", "#3C454F");
    }
);

您的代码运行良好。

只是你使用的颜色没有被识别清楚而已。CCD_ 4和CCD_

检查小提琴演示