0

こんにちは皆さん、 これを修正するのを手伝ってください:アンカーから同じjavascript関数を呼び出しますが、パラメーターが異なるとします

<a id="edit1" onclick="foo(1)"></a> 
<a id="edit2" onclick="foo(2)"></a>

function foo(id)
{
// let's say the code here hide the clicked anchor and show a new anchor with cancel-edit id 
}

シナリオ:

  • 最初のアンカーをクリックしました-最初のアンカーが新しいアンカーに置き換えられました:
  • 機能を無効にするにはどうすればよいですか。2番目のアンカーをクリックしても機能しません。
  • ここで、IDがcancel-editのアンカーをクリックすると、id edit1のアンカーがプルバックされ、foo関数が再度アクティブ化されるため、2番目のアンカーを再度クリックすると、foo関数が再度実行されます...

私はそれが明確であることを願っています:X!前もって感謝します。

4

1 に答える 1

1

1 つがクリックされた後にすべての要素に対して無効にする場合は、フラグを設定するだけです。

var enabled = true;
function foo(id) {
    if( enabled ) {
        // run your code
        enabled = false;
    }
}

引き続き実行されますが、ifステートメント内のコードは最初のクリック後に実行されません。

function stop() {

    // replace the original anchor

    enabled = true; // enable the "foo" handler

}

新しいアンカーをstop()クリックすると、元のアンカーに置き換えられ、再び機能するように設定さenabledtrueますfoo()

于 2011-07-01T02:39:02.050 に答える