jquery:更改类(但不是)更改操作

时间:2016-08-09 13:14:31

标签: jquery class buttonclick

我发现了一个奇怪的行为..肯定是知道但我不知道如何解决它。

我有一个按钮,根据当前的类,必须执行2个不同的操作。

单击时,它会切换其类,这样,在下一次单击时将执行不同的操作。 但它继续执行'#34; old"行动,像班级一样没有改变

更清楚......

  

这里是相对Fiddle

你可以看到当你点击按钮A时,它会写AAA并且两个按钮切换它们的类(因为颜色已经改变):因此它似乎一切正常

但是,如果您再次点击按钮A而不是写BBB这是按下class b按钮时会发生的情况,它会再次写AAA

显然可以有2个按钮用于2动作并切换2个按钮而不是交换课程,但我想了解我是做错了什么或这个奇怪行为的原因。

问候

1 个答案:

答案 0 :(得分:3)

在添加和删除用于绑定事件的类时,您需要使用事件委派:

$('body').on('click','.a',function(){
    $('#R').html('AAA');
    $('#A').addClass('b').removeClass('a');
    $('#B').addClass('a').removeClass('b');
});
$('body').on('click','.b',function(){
    $('#R').html('BBB');
    $('#B').addClass('b').removeClass('a');
    $('#A').addClass('a').removeClass('b');
});

<强> Working Demo