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)