1

私はこれを行うためにmootoolsを使用しています:私はこのようなulを持っています

<ul>
    <li><a class="option">TEXT</a></li>
    <li><a class="option">TEXT</a></li
    <li><a class="option">TEXT</a></li>
    <li><a class="option">TEXT</a></li>
</ul>

li が 'option' から 'option-selected' にクリックされたときにクラスを変更したいのですが、現在のコードは次のようになります。

$$('li.option').addEvent('click', function(el){
    this.toggleClass('option-selected');
});

これは機能しますが、私の問題は、クリックイベントで他のliクラスをクラスオプションに戻し、現在クリックされているliクラスをオプション選択のままにする方法です?

4

1 に答える 1

0
(function () {
    var list = document.id('menu'),
        os = 'option-selected';

    menu.addEvent('click:relay(li .option)', function (e, el) {
        e.preventDefault();
        menu.getElements('.' + os).removeClass(os);
        el.addClass(os);
    });
}());

ここで遊んだり、微調整したりできます。http://jsfiddle.net/dimitar/nYEkj/

これは ul 要素に固定され、イベント委譲を介して 1 つのイベントのみが関連付けられます。あなたの戦略が何であるかに依存します - クラスをliまたはAsに追加します

于 2013-01-18T09:23:14.283 に答える