Javascript onClick和onmouseover和onmouseOut

Javascript onClick和onmouseover和onmouseOut,javascript,Javascript,我想问一下如何区分onClick、onMouseOver和onMouseOut 比如说,, 我使用onMouseOver使用 onMouseOver="this.style.backgroundColor=Blue;" onMouseOut去掉了这个背景 onMouseOut="this.style.backgroundColor=White;" 如何编写对onClick的调用,以提供蓝色背景,并在鼠标光标离开选项卡时保持蓝色背景 谢谢您需要与事件侦听器协作。我建议为此使用一个框架,比如pr

我想问一下如何区分onClick、onMouseOver和onMouseOut

比如说,, 我使用onMouseOver使用

onMouseOver="this.style.backgroundColor=Blue;"
onMouseOut去掉了这个背景

onMouseOut="this.style.backgroundColor=White;"
如何编写对onClick的调用,以提供蓝色背景,并在鼠标光标离开选项卡时保持蓝色背景


谢谢

您需要与事件侦听器协作。我建议为此使用一个框架,比如prototypejs或jquery


您需要事件侦听器/观察者来观察鼠标悬停、鼠标悬停和单击事件。当单击事件激发时,您停止观察mouseOver和mouseOut。这应该就可以了。

你有两个CSS类,“active”和“clicked”怎么样。他们都把背景设为蓝色。单击后,添加“clicked”类。鼠标悬停时,添加“活动”类。鼠标离开时,删除“活动”类。如果元素有“clicked”类,它仍然有它,因此保持它的颜色。

我会在鼠标中做一个检查,只有当它不是蓝色时才会改变颜色

通常我会向元素添加一个CSS类,该元素具有活动(上次单击项)状态。该CSS类可以优先于元素的常规样式


我甚至会使用CSS而不是JavaScript来更改悬停状态。

非常简单的解决方案在这里为您提供帮助。希望对你有用


功能行mout(mout值){
document.getElementById(mout_值).style.background=“#FFFFFF”;
}
功能行移动器(移动器值){
document.getElementById(mover_value).style.background=“#123456”;
}
功能行单击(单击值){
if(document.getElementById('chk_'+单击值).checked==true){
document.getElementById(单击值)。style.background=“#123456”;
document.getElementById(单击值).onmouseout=“”;
document.getElementById(单击值).onmouseover=“”;
}//如果结束
else if(document.getElementById('chk_'+单击值)。checked==false){
document.getElementById(单击值)。style.background=“#FFFFFF”;
document.getElementById(单击值)。onmouseout=函数onmouseout(事件){
行移动(单击值);
}
document.getElementById(单击值)。onmouseover=函数onmouseover(事件){
行移动器(单击值);
}
}//否则就结束了

}
鼠标上方的颜色也是蓝色的,因此在这种情况下,它永远不会改变颜色。OP说明鼠标上方的按钮应该是灰色的(尽管代码上显示为蓝色)。OnClick应该使按钮变为蓝色,当按钮被单击时(变为蓝色),鼠标盖不应该改变它。这意味着它只有在不是蓝色的情况下才会改变。