jQuery单击动画下移不带类

jQuery单击动画下移不带类,jquery,Jquery,这很难解释。我有一个类作为选择器,它是可点击的。单击后,该类将被删除,因此在再次添加该类之前,该类不应再被单击 我的代码如下: $('.inactive').click(function(){ $('.inactive').addClass('active').removeClass('inactive'); $('#test').animate({ top: "+=20" }, 400); }); 您可以检查当我收到您的问题时,您需要在删除类后停止此行为。尽管您已经删除了

这很难解释。我有一个类作为选择器,它是可点击的。单击后,该类将被删除,因此在再次添加该类之前,该类不应再被单击

我的代码如下:

$('.inactive').click(function(){
     $('.inactive').addClass('active').removeClass('inactive');
     $('#test').animate({ top: "+=20" }, 400);
});

您可以检查

当我收到您的问题时,您需要在删除类后停止此行为。尽管您已经删除了这个类,DOM的click事件仍然附加了这个函数。用手把它拿开

$(this).off('click');
在DOM操作之后

编辑。我猜您正在使用jQuery v.1.7+,否则请使用:

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

当我得到你的问题,你需要停止这种行为一旦类被删除。尽管您已经删除了这个类,DOM的click事件仍然附加了这个函数。用手把它拿开

$(this).off('click');
在DOM操作之后

编辑。我猜您正在使用jQuery v.1.7+,否则请使用:

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

当我得到你的问题,你需要停止这种行为一旦类被删除。尽管您已经删除了这个类,DOM的click事件仍然附加了这个函数。用手把它拿开

$(this).off('click');
在DOM操作之后

编辑。我猜您正在使用jQuery v.1.7+,否则请使用:

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

当我得到你的问题,你需要停止这种行为一旦类被删除。尽管您已经删除了这个类,DOM的click事件仍然附加了这个函数。用手把它拿开

$(this).off('click');
在DOM操作之后

编辑。我猜您正在使用jQuery v.1.7+,否则请使用:

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

安东说了什么,或者

$(document).on('click', '.inactive', function(){
        $(this).addClass('active').removeClass('inactive');
        $('#test').animate({ top: "+=20" }, 400);
});

安东说了什么,或者

$(document).on('click', '.inactive', function(){
        $(this).addClass('active').removeClass('inactive');
        $('#test').animate({ top: "+=20" }, 400);
});

安东说了什么,或者

$(document).on('click', '.inactive', function(){
        $(this).addClass('active').removeClass('inactive');
        $('#test').animate({ top: "+=20" }, 400);
});

安东说了什么,或者

$(document).on('click', '.inactive', function(){
        $(this).addClass('active').removeClass('inactive');
        $('#test').animate({ top: "+=20" }, 400);
});

由于它们是互斥的,您不应该同时需要
非活动类和
活动类。任何一个都应该做这项工作——造型和选择

触发事件后分离事件处理程序的最简单方法是使用jQuery的
.one()

你最终会得到这样的结果

function activate() {
     $(this).removeClass('inactive');
     $('#test').animate({ top: "+=20" }, 400);
}

$('.inactive').one('click', activate);
通过将处理程序定义为命名函数,它仍然可以重新匹配

要使元素再次处于非活动状态,需要添加“非活动”并重新连接单击处理程序:

var $foo = $(selector);//select an element or elements by whatever means
$foo.each(function() {
    if(!$(this).hasClass('inactive')) {
        $(this).addClass('inactive').one('click', activate);
    }
});

由于它们是互斥的,您不应该同时需要
非活动类和
活动类。任何一个都应该做这项工作——造型和选择

触发事件后分离事件处理程序的最简单方法是使用jQuery的
.one()

你最终会得到这样的结果

function activate() {
     $(this).removeClass('inactive');
     $('#test').animate({ top: "+=20" }, 400);
}

$('.inactive').one('click', activate);
通过将处理程序定义为命名函数,它仍然可以重新匹配

要使元素再次处于非活动状态,需要添加“非活动”并重新连接单击处理程序:

var $foo = $(selector);//select an element or elements by whatever means
$foo.each(function() {
    if(!$(this).hasClass('inactive')) {
        $(this).addClass('inactive').one('click', activate);
    }
});

由于它们是互斥的,您不应该同时需要
非活动类和
活动类。任何一个都应该做这项工作——造型和选择

触发事件后分离事件处理程序的最简单方法是使用jQuery的
.one()

你最终会得到这样的结果

function activate() {
     $(this).removeClass('inactive');
     $('#test').animate({ top: "+=20" }, 400);
}

$('.inactive').one('click', activate);
通过将处理程序定义为命名函数,它仍然可以重新匹配

要使元素再次处于非活动状态,需要添加“非活动”并重新连接单击处理程序:

var $foo = $(selector);//select an element or elements by whatever means
$foo.each(function() {
    if(!$(this).hasClass('inactive')) {
        $(this).addClass('inactive').one('click', activate);
    }
});

由于它们是互斥的,您不应该同时需要
非活动类和
活动类。任何一个都应该做这项工作——造型和选择

触发事件后分离事件处理程序的最简单方法是使用jQuery的
.one()

你最终会得到这样的结果

function activate() {
     $(this).removeClass('inactive');
     $('#test').animate({ top: "+=20" }, 400);
}

$('.inactive').one('click', activate);
通过将处理程序定义为命名函数,它仍然可以重新匹配

要使元素再次处于非活动状态,需要添加“非活动”并重新连接单击处理程序:

var $foo = $(selector);//select an element or elements by whatever means
$foo.each(function() {
    if(!$(this).hasClass('inactive')) {
        $(this).addClass('inactive').one('click', activate);
    }
});

如果您检查非活动类,它将正常工作。对于您所拥有的,单击是绑定到元素的,移除类不会解除单击的绑定。您需要委托事件,
$(文档)。在('click','.inactive',function(){..
上,如果您检查了非活动类,它将正常工作。对于您所拥有的,单击将绑定到元素,移除该类不会解除单击的绑定。您需要委托事件,
$(文档)。在('click'、'.inactive',function(){..
如果您检查了非活动类,它将正常工作。对于您所拥有的,单击将绑定到元素,删除该类不会解除单击的绑定。您需要委托事件,
$(文档)。on('click'、'.inactive',function()){..
如果您检查非活动类,它将正常工作。对于您所拥有的,单击将绑定到元素,删除该类不会解除单击的绑定。您需要委托事件,
$(文档)。on('click','.inactive',function()){..
谢谢,这是最好的方法。使用此方法时,在再次添加类后,元素仍然可以单击,这在Antons的情况下会阻止元素被单击。谢谢,这是最好的方法。使用此方法时,在再次添加类后,元素仍然可以单击,在Antons的情况下,这会阻止元素被单击e元素被单击。谢谢,这是最好的方法。使用此方法时,再次添加类后,元素仍然可以单击,在Antons的情况下,这会阻止元素被单击。谢谢,这是最好的方法。使用此方法时,再次添加类后,元素仍然可以单击,在Antons的情况下,这是最好的方法大小写,防止单击元素。