0

それで、私はJavaScriptをしばらく学んでいて、フレームワークを組み込み始めたところです。さまざまな理由から MooTools を選択しましたが、それは少し話が逸れます。

それで、マウスオーバー時にスタイルに関連する li 要素にクラスを追加し、マウスリーブ時にそれを削除するために作成した最初の小さなコード。私はこれを JavaScript で何度も行ってきましたが、MooTools を使用して動作させることはできません。

HTML スニペット:

    <ul id="navBar">
    <li><a href="#">Test</a></li>
    <li><a href="#">Test</a></li>
    <li><a href="#">Test</a></li>
    <li><a href="#">Test</a></li>
</ul>

JS フレームワーク スニペット:

window.addEvent('domready', function() {

$('navBar').getElements('a').addEvent({
    mouseenter:function(){
        $(this).addClass('navHover');
    },
    mouseleave:function(){
        $(this).removeClass('navHover');
    }
});
});

CSS スニペット:

.navHover {
color: #FFF;
}

フレームワークを正しく実装していない可能性があります。単純な古い JavaScript に戻す必要がありますか?

ありがとうございました。

4

1 に答える 1

1

あなたは単に「s」を省略しました。:-)

   $('navBar').getElements('a').addEvents({
                                        ^ here

を実行するつもりならaddEvent、それは単一のイベントしか追加できないことを知っておく必要があります。$('navBar').getElements('a').addEvent("mouseenter", function() { ... });したがって、次のようにする必要があります。書いたように、これはの正しい構文ですaddEvents

ソース(この問題はタイプミスだったと思いますが):http://mootools.net/docs/core/Element/Element.Event#Element :addEvents

およびjsfiddleの動作例:http://jsfiddle.net/pxLTX/

于 2013-02-21T14:35:55.953 に答える