0

一連のリンクにイベント リスナーを追加するこの自己実行機能があります。ただし、イベント リスナーは、onmouseover/out とは対照的に、ページの読み込み時に自動的に起動します。構文が間違っていますか?それらの自動発砲を停止するにはどうすればよいですか?

;(function(){
    var menuLink = $('.navItem');
    var menuItem = $('.menuLinks');
    for (a = 0; a <= 5; ++a) {
        menuLink[a].addEventListener('onmouseover', linkChanger(), true);
        menuLink[a].addEventListener('onmouseout', linkChanger(), true);
    }   

    function linkChanger(event){
        if (menuItem[a].style.color == "white") {
            console.log("This is white")
            menuItem[a].style.color = "black";
        }
        else {
            console.log("This is black");
            menuItem[a].style.color = "white";
        }
    }
})()
4

2 に答える 2

1

linkChanger() を記述すると、関数が実行され、結果がリスナーに渡されます。でラップするfunction() { linkChanger(); }か、 で置き換えlinkChangerます。最初のオプションでは、引数を渡し、他の関数も実行できます。

于 2012-05-05T20:04:03.473 に答える