动态更改onclick方法

时间:2012-04-09 13:20:04

标签: javascript jquery-ui jquery

如何动态更改按钮的onclick方法。?

我有两种方法,一种方法的成功我想设置其他方法..只需改变成功的一个按钮

4 个答案:

答案 0 :(得分:3)

由于您正在使用jQuery,因此您可以使用$.on$.off绑定和取消绑定事件。

如果您已按照以下方式附加了处理程序:

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

您可以删除该处理程序并添加如下:

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

重要的是要注意{j} 1.7时$.on$.off是首选的方法。有关这些方法的详细信息,请参阅the documentation以及宣布这些方法的the blog post

答案 1 :(得分:0)

从jQuery 1.7开始,.on()方法是将事件处理程序附加到文档的首选方法。

答案 2 :(得分:0)

为您的按钮添加id,在第一种方法中添加以下行:

getElementById("THE_ID_OF_THE_BUTTON").onclick = theOtherMethod;

答案 3 :(得分: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>