1

ボタンの onclick メソッドを動的に変更するにはどうすればよいですか?

私は2つの方法を持っています.1つの方法の成功は他の方法を設定したい..1つのボタンの成功にシフトするのと同じように

4

4 に答える 4

3

jQuery を使用しているため$.on、 andを使用し$.offてイベントをバインドおよびバインド解除します。

次のようにハンドラーをアタッチした場合:

$("#foo").on("click", function(e) {
  // event handler
});

そのハンドラーを削除して、次のように別のハンドラーを追加できます。

$("#foo")
  .off("click")
  .on("click", function(e){
    // new event handler
  });

$.onjQuery 1.7 の時点で、と$.offが推奨されるメソッドであることに注意することが重要です。これらのメソッドの詳細については、ドキュメントと、それらを発表したブログ投稿を参照してください。

于 2012-04-09T13:22:23.800 に答える
0
<input id="btn" type="button" onclick="success();" value="click me!" />
<script>
    var btn = document.getElementById('btn');
    function success(){
        alert('something');
        btn.onclick = otherFunction;
    }

    function otherFunction(){
        alert('Something new');
        // Now when you clik btn this code is going to be executed
        btn.onclick = success;
    }

</script>
于 2012-04-09T13:28:33.847 に答える
0

jQuery 1.7 の時点で、.on()メソッドは、イベント ハンドラーをドキュメントにアタッチするための推奨メソッドです。

于 2012-04-09T13:24:18.547 に答える
0

ボタンにidを付け、最初のメソッド内に次の行を追加します。

getElementById("THE_ID_OF_THE_BUTTON").onclick = theOtherMethod;
于 2012-04-09T13:25:27.840 に答える