Javascript 如何在添加新的onClick事件之前清除onClick?

Javascript 如何在添加新的onClick事件之前清除onClick?,javascript,jquery,html,onclick,Javascript,Jquery,Html,Onclick,我尝试使用javascript将onclick事件替换为其他onclick事件: <button id='myButton' onClick=""/> 然后我也这样做,更改alert的值,我这样做: $('#myButton').click(function(){ alert('1'); }); $('#myButton').click(function(){ alert('2'); }); $('#myButton').unbind("click"); 上述

我尝试使用javascript将onclick事件替换为其他onclick事件:

<button id='myButton' onClick=""/>
然后我也这样做,更改alert的值,我这样做:

$('#myButton').click(function(){
    alert('1');
});
$('#myButton').click(function(){
    alert('2');
});
$('#myButton').unbind("click");
上述方法的结果是1和2的警报显示两次。我 want只有2个必须显示(我用alert('2')替换alert('1'); 不添加其他警报。如何修复我的代码

试试这个:

$(document).off('click', '#myButton').on('click', '#myButton', function(){
    alert('2');
});
它将解除先前事件侦听器的绑定并添加新的事件侦听器。

尝试此事件侦听器:

$(document).off('click', '#myButton').on('click', '#myButton', function(){
    alert('2');
});

它将取消绑定以前的事件侦听器并添加新的事件侦听器。

您有两个jQuery事件侦听器侦听同一个元素。它们知道元素的id,这就足够了

我想说的是,他们不关心
onClick

应该编写两个JS函数,但不能编写jQuery事件侦听器

<button id='id' onClick="choose function"/>

function myFunction1() {
   //your code
}

function myFunction2() {
   //same
}

函数myFunction1(){
//你的代码
}
函数myFunction2(){
//同样的
}

您有两个jQuery事件侦听器,它们侦听同一个元素。它们知道元素的id,这就足够了

我想说的是,他们不关心
onClick

应该编写两个JS函数,但不能编写jQuery事件侦听器

<button id='id' onClick="choose function"/>

function myFunction1() {
   //your code
}

function myFunction2() {
   //same
}

函数myFunction1(){
//你的代码
}
函数myFunction2(){
//同样的
}

问题终于解决了。我使用了解绑的方法,比如从这里解释:

http://api.jquery.com/unbind/
对于我的案例:

$('#myButton').click(function(){
    alert('1');
});
$('#myButton').click(function(){
    alert('2');
});
$('#myButton').unbind("click");

谢谢。

问题终于解决了。我使用解除绑定的方法,如从这里解释:

http://api.jquery.com/unbind/
对于我的案例:

$('#myButton').click(function(){
    alert('1');
});
$('#myButton').click(function(){
    alert('2');
});
$('#myButton').unbind("click");

谢谢。

为什么不直接更改您的警报……我想我不明白您的问题……也许您正在寻找解除事件绑定的方法……由于您使用jQuery,这里有一个与@NewToJS:so相关的链接,请添加$(“#myButton”)。解除绑定();在我添加新的onclick事件之前,对吗?如果这是你的意思,你可以将其作为答案。我会接受正确的答案,因为你的答案对我来说很好。谢谢你为什么不改变你的提醒……我不认为我理解你的问题……也许你在寻找一些东西来解开事件的绑定……而且因为你使用了jQuery她e是@NewToJS:so的相关链接,在我添加新的onclick事件之前添加$(“#myButton”).unbind();对吗?如果这是你的意思,你可以将其作为答案。我会接受作为正确答案,因为你的答案对我来说很有效。谢谢你。如果我使用$(“#myButton”).unbind();?哪一个更好的解除绑定方法?如果我使用呢$(“#myButton”).unbind();?哪种方法更适合解除绑定?