Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Jquery 更改$的类别(此)_Jquery_Css - Fatal编程技术网

Jquery 更改$的类别(此)

Jquery 更改$的类别(此),jquery,css,Jquery,Css,我有一个按钮,它调用一些jQuery,我需要一种方法来禁用它(如果可能的话,它是相应的向上/向下按钮),以避免重复单击。我为按钮制作了如下事件处理程序: $('.RateDown').click(function() { //down counter var downValue = parseInt($(this).text()); downValue--; $(this).text(downValue); //total counter va

我有一个
按钮,它调用一些jQuery,我需要一种方法来禁用它(如果可能的话,它是相应的向上/向下按钮),以避免重复单击。我为按钮制作了如下事件处理程序:

$('.RateDown').click(function() {

    //down counter
    var downValue = parseInt($(this).text());
    downValue--;
    $(this).text(downValue);

    //total counter
    var totalValueElement = $(this).prevAll('.RateTotal').first();
    var totalValue = parseInt(totalValueElement.text());
    totalValue--;
    totalValueElement.text(totalValue);
});
(与RateUp类似)

以及相关的HTML,如下所示

<div class='RateBar'>
    <span class='RateTotal'>0</span><br />
    <span class='RateUp'> +0</span>
    <span class='RateDown'> -0</span>
</div>

0
+0 -0
这在目前是可行的,但是任何人都可以重复地向按钮发送垃圾邮件,所以我想如果我将它的类更改为“分级”类,它将无法单击。我尝试过使用
.attr()
功能,但没有成功。是否可以通过这种方式或其他方式禁用它?我曾经使用过一个禁用的布尔值,在单击时对其进行更改,但是在一个页面上使用多个按钮,这是不切实际的


(按钮当前为)

使用jQuery。单击事件上的一个按钮-它仅绑定一次。-

您可以添加类并删除单击处理程序:

$(this).addClass("disabled").off("click");
另一个按钮也是如此:

$(this).siblings(".RateUp").addClass("disabled").off("click");
注意:
关闭
是在1.7中添加的,对于以前的版本,请使用
解除绑定
您有一些选项:

$(this).attr('class','rated');
这会将您的类更改为额定,因此跨度不可单击

另一个,也许更好的解决方案是:

$(this).unbind('click');

现在,span不再可单击,而是将其保留为类以及与之相关的任何样式。

$(this.addClass('rated')
$(this.prevAll('.RateTotal')。addClass('rated')
您正在寻找
.addClass()
/
.removeClass()
/
.toggleClass()
?每次使用不带基数的
parseInt
,Doug Crockford都会淹死一只可爱的茶杯小猪
parseInt('07')==7,parseInt('09')=9,parseInt('010')=8
。相反:
parseInt($(this).text(),10)