-1

我在这里缺少一些非常简单的东西。我有一个非常简单的事件和一个非常简单的处理程序:

$('#toggler').on('click',function(){
      if ($(this).hasClass('choose')) {
          $(this).removeClass('choose');
          $.ui.hint.turnOn();
      }
      else {
          $(this).addClass('choose');
          $.ui.hint.turnOff(); 
      }

    });

当我点击它时,它基本上会循环,不断地添加和删除类。为什么会发生这种情况,我该如何解决?谢谢。

编辑:html:

        <div id="toggler">
            <a href="#" mode="normal">Вкл.</a>
            <div class="hint-switcher">
                <div class="hint-switcher-toggle"></div>
            </div>
            <a href="#" mode="choose">Выкл.</a>
        </div>

这是一个简单的开关,只使用 css 来改变它的状态。

4

2 回答 2

0

好的,我找到了问题所在。在我的项目中的另一个文件中有一个trigger('click')我不小心错过并导致问题的文件。感谢所有帮助过的人,我很感激。

于 2013-11-08T06:25:14.577 回答
-2

我不确定。但是你应该将必要的参数传递给我猜的函数。您正在使用 'ui' 对象而不传递它。试试这个一次。

$('#toggler').on('click',function(event,ui){
      if ($(this).hasClass('choose')) {
          $(this).removeClass('choose');
          $.ui.hint.turnOn(); // Problem lies in this line i think. if this doesn't work
      }
      else {
          $(this).addClass('choose');
          $.ui.hint.turnOff(); // here too.
      }

    });

如果不起作用,请忽略我的建议。

于 2013-11-08T05:59:21.313 回答