我正在制作一个评分系统,我想要它,所以当你点击每个单词时,它会给它完全透明。此外,当您将鼠标悬停在每个单词上时,其前面的单词也会突出显示。
基本上,我遇到的唯一问题是.click();事件不起作用。如果你拿出上面的所有代码,它只能 ONLY :
// This isn't working:
$("#poor").click(function () {
$(this).css("opacity", "1");
});
$("#good").click(function () {
$(this).css("opacity", "1");
});
$("#great").click(function () {
$(this).css("opacity", "1");
});
jsFiddle演示 :: http://jsfiddle.net/MatthewKosloski/rjFpn/1/
答案 0 :(得分:2)
点击正确将不透明度设置为1,但之后您的鼠标距离再次将不透明度设置为0.50。
所以mouseleave没有取消你的点击。
答案 1 :(得分:1)
现在,当您处理事件时,您将事件称为“此”。
将您的代码更改为:
$("#poor").click(function (event) {
var el = event.target || event.srcElement;
$(el).css("opacity", "1");
});
编辑:事实证明我错了,原因是当你做一个鼠标离开时你正在改变元素的css属性,在用户点击之后,如果你为用户点击一个元素设置了一个标志,你可以防止mouseleave事件被触发
这是JSFiddle http://jsfiddle.net/jDjSu/