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

时间:2017-04-13 01:29:32

标签: javascript jquery html onclick

我尝试用javascript:

替换其他onclick事件的onclick事件
<button id='myButton' onClick=""/>

OLD onClick事件:

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

然后我也这样做并更改警报的值,我喜欢这样:

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

以上方法的结果是1和2两次警报显示。我是什么   想要只有2必须显示(我用警报('2')替换警报('1');   不添加其他警报。如何修复我的代码?

3 个答案:

答案 0 :(得分:2)

试试这个:

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

它将解除前一个事件监听器的绑定并添加新的监听器。

答案 1 :(得分:0)

你有2个jQuery事件监听器,它们监听相同的元素。他们知道元素的id,这足以让他们工作。

我想说的是,他们不关心private String pipe = "/data/data/com.example/v_pipe1"; ... mMediaRecorder.setOutputFile(pipe); ... mMediaRecorder.start();

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

onClick

答案 2 :(得分:0)

最后问题已经解决了。我从这里使用方法unbind就像解释一样:

http://api.jquery.com/unbind/

就我而言:

$('#myButton').unbind("click");

谢谢。