2016-11-06 5 views
2

У меня есть кнопка с названием класса тестовая кнопка test-button - check. После нажатия кнопки тест-кнопки - проверить он должен сделать что-то и заменить класс тест-кнопка - сбросJQuery щелчок одной кнопки с другим классом

Для тестов-кнопки - сброс Я хочу написать еще одну функцию, но это Безразлично Не работай. Потому что предыдущая функция выполняется снова.

$(".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"); 
}); 

Что я могу сделать?

Благодаря

+5

Пожалуйста, добавьте s ome на ваш вопрос - тогда мы можем, может быть, сказать вам, почему это не работает! –

ответ

1

Вы можете написать свой код внутри 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"); 
    } 
}); 
1

Попробуйте использовать .off(), чтобы удалить обработчик события, в данном случае, нажмите.

Должно быть что-то вроде этого:

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

Я думаю, что это будет работать:

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); 

Использование bind and unbind

Смежные вопросы