Javascript 为什么';单击';按下其他按钮后,函数在jQuery中不起作用?

Javascript 为什么';单击';按下其他按钮后,函数在jQuery中不起作用?,javascript,jquery,html,css,click,Javascript,Jquery,Html,Css,Click,我需要在jQuery中建立评分系统(我点击一个圆圈,然后再点击,前面的圆圈变成绿色) 如果我单击空圆圈,该圆圈和之前的圆圈将变为绿色 如果我在输入框中输入圈数,然后单击“更新最大值”按钮,那么我会得到所需的圈数,但如果我随后单击其中一个圈,它们不会变为绿色,即使它们有一个class评级圈 为什么会这样 我把代码放在下面 $(函数(){ //此函数用于绘制圆 var makingCircles=函数(numberOfStars){ $(“#评级容器”).empty(); for(设i=0;i

我需要在jQuery中建立评分系统(我点击一个圆圈,然后再点击,前面的圆圈变成绿色)

如果我单击空圆圈,该圆圈和之前的圆圈将变为绿色

如果我在输入框中输入圈数,然后单击“更新最大值”按钮,那么我会得到所需的圈数,但如果我随后单击其中一个圈,它们不会变为绿色,即使它们有一个class
评级圈

为什么会这样

我把代码放在下面

$(函数(){
//此函数用于绘制圆
var makingCircles=函数(numberOfStars){
$(“#评级容器”).empty();
for(设i=0;i
正文{
字体系列:Verdana;
}
h1,
h2,
h3{
颜色:深蓝色;
}
.评级圈{
高度:2米;
宽度:2米;
边框:1米纯黑色;
边界半径:1.1米;
显示:内联块;
保证金:0.3em;
填充:0.1米;
}
.评级悬停{
背景颜色:黄色;
}
.所选评级{
背景颜色:绿色;
}
使用jQuery查找元素
本课程介绍如何使用jQuery方法和选择器识别元素。
对本次会议进行评分
输入最大值:
更新最大值
使用事件委派:

$("#rating-container").on("click", ".rating-circle",
而不是

$(".rating-circle").click(
这就是对新创建/动态创建的HTML元素进行事件绑定的方法,通过动态,我指的是使用javascript创建的HTML元素。

使用事件委派:

$("#rating-container").on("click", ".rating-circle",
而不是

$(".rating-circle").click(

这就是在新/动态创建的HTML元素上进行事件绑定的方法,通过动态,我指的是使用javascript创建的HTML元素。

应该有,而不是

$(".rating-circle").click(
这:


因为否则,每次重新填充容器时都必须绑定click事件处理程序,而不是

$(".rating-circle").click(
这:


因为否则,每次重新填充容器时都必须绑定click事件处理程序

看看jquery事件委派。我创建了一个fiddle,它通过使用事件委派来修复代码。它还修复了一个可能的错误,当用户想要重新评分,留下较少的评分(例如,选择了5个圆圈,并希望将其更改为4)看看jquery事件委派。我创建了一个fiddle,它通过使用事件委派来修复您的代码。它还修复了一个可能的错误,当用户希望重新评分,留下较少的评分(例如,选择5个圆圈,并希望将其更改为4)