1

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

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

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

我的问题:当显示此模式时,如何解决此问题以使我的背景颜色恢复为“正常”(#3C454F)。我更喜欢避免在单击此按钮后放置一些代码,而是将所有内容集中在上面的一组代码中,因为在这里我简化了问题......

4

5 回答 5

2

This should be done with CSS, and :hover pseudo-classes.

Just add this CSS rules to your style.

#myLink {
  background-color:  #495461;
}

#myLink:hover {
  background-color:  #3C454F;
}
于 2013-07-08T13:42:34.320 回答
0

只需使用 .hover() 代替:

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

.hover() 的 jQuery 文档

于 2013-07-08T13:13:08.350 回答
0

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

你的代码应该是:

$("#fileupload").hover(
    function () {
        $("#myLink").css("background-color", "#495461");
    },
    function () {
        $("#myLink").css("background-color", "#3C454F");
    }
);
于 2013-07-08T13:13:25.140 回答
0

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

于 2013-07-08T13:13:56.953 回答
0

您的代码运行良好。

只是您使用的颜色没有明确识别。#495461#3C454F以相同的阴影显示

检查小提琴演示

于 2013-07-08T13:29:27.040 回答