2011-07-01 9 views
0

こんにちは皆さんを実行jqueryの、 私はこの問題を解決するために助けてください。私たちは、アンカーから同じ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番目のアンカーにckはありません。
  • ここで、idをcancel-editでアンカーをクリックしたとすると、id1のアンカーを取り戻し、foo関数を再度アクティブにするので、2番目のアンカーで再び呼び出すと、foo関数が再度実行されます...

私はそれが明確であることを望む:X! ありがとうございます。

+0

あなたは何をしようとしていますか? – Mrchief

答えて

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()と新しいアンカーをクリックすると、元のアンカーと交換し、そしてfoo()が再び動作するようtrueenabledを設定します。

+0

お返事ありがとうございます!申し訳ありませんが、私は何をしたいのかよく説明しました。 – v1r00z

+0

@ v1r00z:質問を編集し、コードと詳細を追加する必要があります。 – user113716

関連する問題