0

このコードについて少し混乱しているので、説明をいただければ幸いです。コンテキストは単純なドロップダウン メニューであり、マウスオーバー イベントをリンクするためのハイライト クラスを追加するだけです。util.addEvent は、私がクロス ブラウザー コンプライアンスのために使用している単純なユーティリティです。これは機能します。

var highlight = function(link){
    return function(){
    link.className="highlight";
    }
}

これはうまくいきません。

util.addEvent(link, "mouseover", function(link){
link.className="highlight";
});

また:

util.addEvent(link,"mouseover",function(event){
    link=event.target;
    link.className = "highlight";
});

これも機能します。機能しない2番目の関数内でconsole.log(link)を実行すると、実際にマウス座標が取得されます...とても混乱しています。

4

1 に答える 1

0

リンクはマウスオーバー時にブラウザからの呼び出しから送信されるものであるため、これは機能しません。これはイベントです

util.addEvent(link, "mouseover", function(link){
  link.className="highlight";
});

私の推測はあなたの addEvent にあります。最初のパラメーターは、イベントが呼び出されたときにこれのコンテキストがどうあるべきかであるため、これは機能します。

util.addEvent(link, "mouseover", function(event){
  this.className="highlight";
});
于 2013-10-19T04:21:44.320 に答える