-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 に答える