Javascript JQuery使用不同的类单击相同的按钮

Javascript JQuery使用不同的类单击相同的按钮,javascript,jquery,button,click,Javascript,Jquery,Button,Click,我有一个类名为的按钮test button test button——检查。单击测试按钮后--检查它应该做些什么,并被class测试按钮替换--重置 对于测试按钮--reset我想编写另一个函数,但它不起作用。因为,前面的函数会再次执行 $(".test-button--check").on("click", function() { alert("Check is clicked"); $(this).removeClass("test-button--check").addClass

我有一个类名为的按钮test button test button——检查。单击测试按钮后--检查它应该做些什么,并被class测试按钮替换--重置

对于测试按钮--reset我想编写另一个函数,但它不起作用。因为,前面的函数会再次执行

$(".test-button--check").on("click", function() {
  alert("Check is clicked");
  $(this).removeClass("test-button--check").addClass("test-button--reset");
});

$(".test-button--reset").on("click", function() {
  alert("Reset is clicked");
  $(this).removeClass("test-button--reset").addClass("test-button--check");
});
我能做什么

感谢您尝试使用.off()删除事件处理程序,在本例中,它是单击

应该是这样的:

$('.test-button.test-button--reset').off().click(function() {...});

您可以用这种方式在document.ready中编写代码

$(".test-button--check .test-button--reset").on("click", function(e) {
   e.preventDefault();
   var obj=$(this);
   if($(obj).hasClass('test-button--check')){
       alert("Check is clicked");
       $(this).removeClass("test-button--check").addClass("test-button--reset");
   }
   if($(obj).hasClass('test-button--reset')){
       alert("Reset is clicked");
       $(this).removeClass("test-button--reset").addClass("test-button--check");
   }
});

我认为这会奏效:

var check = function checkFunc() {
alert('Check is clicked!');
$(this).addClass('test-button--reset').removeClass('test-button--check');
$('.test-button--reset').unbind('click',check);
$('.test-button--reset').bind('click',reset);
}
var reset = function resetFunc() {
alert('Reset is clicked!');
$(this).addClass('test-button--check').removeClass('test-button--reset');
$('.test-button--check').unbind('click',reset);
$('.test-button--check').bind('click',check);
}
$('.test-button--check').bind('click',check);

使用绑定和取消绑定

请为您的问题添加一些代码-然后我们可能会告诉您为什么它不起作用!