无论如何都要将元素$("p")
返回到应用mouseenter()
方法之前的确切颜色?或者,我是否需要知道mouseenter()
之前的颜色,然后将该颜色应用于mouseleave()
?我希望它返回到应用mouseleave()
之前的颜色...除了知道它在mouseenter()
之前有哪种颜色之外还有其他方式吗?
Jquery代码(我不想将其设置为蓝色,我想将其设置为mouseenter()
之前的颜色):
$(document).ready(function () {
$("p").mouseenter(function () {
$(this).css("color","yellow")
})
.mouseleave(function () {
$(this).css("color","blue")
})
})
答案 0 :(得分:2)
只需将颜色设置为空字符串,它将使用您最初设置的值:
.mouseleave(function() {
$(this).css("color", "")
})
<强> jsFiddle example 强>
答案 1 :(得分:2)
使用课程。在mouseEnter上添加类$(this).addClass("the_new_color")
并在mouseLeave上删除它。 $(this).removeClass("the_new_color")
。该css类应该!important
覆盖初始颜色。
答案 2 :(得分:1)
最好的方法是使用.toggle(),那么你只需要放置“new”类,而不是使用mousenter()和mouseleave(),只需使用hover()。
{
"username": [
"This field is required."
],
"password": [
"This field is required."
]
}
并在您的css文件中:
$( "p" ).hover(function() {
$( this ).toggleClass("blue");
});
答案 3 :(得分:1)
首先,如果可以的话,你真的应该使用jQuery的.blue {
color: blue;
}
方法。它更一致,更易于阅读,更好的“练习”。您还可以使用此方法命名事件。
我就是这样做的,现在它可以在任何元素或类上重复使用,并且每个元素或类的样式可以不同。
.on(event)
检查笔以查看它的实际效果。
答案 4 :(得分:0)
只需将初始颜色保存在变量中,然后将其设置为鼠标左键。
$(document).ready(function() {
var InitialColor = $("p").css("color")
$("p").mouseenter(function() {
$(this).css("color", "yellow")
})
.mouseleave(function() {
$(this).css("color", InitialColor)
})
})