Jquery - 使用toggleClass时单击处理程序

时间:2016-06-23 17:21:16

标签: javascript jquery

最好通过示例描述该问题:

JS:

$(function () {
   $('.classA').on('click', function () { functionA() );
   $('.classB').on('click', function () { functionB() });
} 

var functionA = function()
{
    alert('I am function A');
    $('.classA, .classB').toggleClass('classA classB');
}

var functionB = function ()
{
    alert('I am function B');
    $('.classA, .classB').toggleClass('classA classB');
}

问题很简单,但我很难解决:正如预期的那样,在按下A类div后,调用函数A,将A类切换到B类,但下次按下相同的div时,函数A仍然是叫,然后我希望函数B被调用。我做错了什么???

1 个答案:

答案 0 :(得分:2)

您可以delegate the event从文档到具有相应类的元素,然后将jQuery's toggleClass function应用于该事件。

   $(document).on('click','.classA', function () { 
       alert('I am function A');
       $('.classA, .classB').toggleClass('classA classB');
    });

   $(document).on('click','.classB', function () { 
      alert('I am function B');
     $('.classA, .classB').toggleClass('classA classB'); 
    });