有人可以帮助我吗
我正在尝试为点击事件中的元素设置不同的颜色。
问题是鼠标悬停事件会使所有内容再次变白。所以,我永远不会 看看活动(actief)类的颜色。
我该怎么做,我已经尝试过放入stopevent传播()??
谢谢,理查德$("#tbestel_opties2 span").live("mouseover", function() {
$t=$(this);
if(!$t.hasClass('actief')){
$t.css({'color':'#fff','backgroundColor':'#fdc601'});
}
});
$("#tbestel_opties2 span").live("mouseout", function() {
$t=$(this);
if(!$t.hasClass('actief')){
$t.css({'color':'#333','backgroundColor':'#fdc601'}); }
});
$("#tbestel_opties input,#tbestel_opties2 span").live("click", function(e)
{e.stopPropagation();
$t=$(this);
$('#tbestel_opties2 .actief').removeClass("actief").css({'color':'#333'});
$t.addClass("actief")
$("#opties li:eq(0)").addClass("actief");
});
答案 0 :(得分:1)
改为使用班级。单击元素时,将另一个类添加到元素。在鼠标悬停/退出之前执行任何操作之前,请确保未设置此类。如果您愿意,这还有一个优点,即允许您将单击元素的样式移动到CSS中。
答案 1 :(得分:1)
停止传播功能会停止点击事件的默认行为,并且与鼠标悬停无关。
将css选择器的使用更改为与这些CSS更改对应的addClass函数,您将能够获得您正在寻找的事件的顺序。
答案 2 :(得分:1)
在您的鼠标悬停事件中尝试此操作:
var currentColor = $(this).css("background-color");
jQuery.data($(this).get(0), "basecolor", currentColor);
它使用元素存储元数据。然后,您可以在点击事件中读取该值
var currentColor = jQuery.data($(this).get(0), "basecolor");
答案 3 :(得分:1)
不要下雨JQuery游行,但为什么不使用:hover psuedo类?