Вопрос

Я следую этой теме, чтобы отключить / включить кнопку на кнопку,Лучший способ удалить обработчик событий в jQuery?

Его идея заключается в том, что вы также можете использовать метод Live () для включения / отключения событий. Что произойдет с этим кодом, является то, что при нажатии на элемент тега, например, .load-item, он добавит класс отключен к этому элементу. Это сделает это так, чтобы селектор больше не совпадал с элементом, и событие не будет выпущено, пока «класс отключения» не будет удален.

Ниже то, с чем я вышел, и он отключает щелчок на первой кнопке,

$('.load-item:not(.disabled)').live('click',function(){


/* add a .current class to the target item */
$(this).parentsUntil('.column-global').addClass('current');

/* add .disabled class to each a tag in the .current element-div */
$('.current a').each(function(index) {
    $(this).addClass('disabled');
});

....

});

и у меня есть еще одна функция, чтобы удалить класс отключения при нажатии на другую кнопку,

$('.button-return').click(function(){

    ...

    /* remove all the .disabled class if any exists */
    $('.current a').each(function(index) {
        $(this).removeClass('disabled');
    });

    ...

    /* remove all the .current class if any exists */
    $('.item-global').removeClass('current');



    return false;

});

Я проверил, что он удаляет класс отключения, но первая кнопка еще не вернена к исходному состоянию клика.

Я ничего не пропустил - или живой () на самом деле только когда-то живет? Любые лучшие решения, если живут () не тот, на кого я должен работать ??

Благодарю.

Это было полезно?

Решение

Ваша кнопка возврата должна быть живое событие, а также

$('.button-return:not(disabled)').live("click",function(){...});

Также при использовании AddClass () и RemoveClass () вам не нужно использовать каждый на селекторе. Просто назовите это.

$('.current a').each(function(index) {
    $(this).removeClass('disabled');
});

так же, как это

$('.current a').removeClass('disabled');

Отредактировано

Примечание. Когда вы добавляете текущее событие на кнопку возврата, вам необходимо убедиться, что он не отключен.

Это отлично работает здесь просто демонстрация http://www.jsfiddle.net/qax3n/

Другие советы

Должно быть, что связано с вашим HTML-макетом или другим JavaScript. Следующие работы:http://jsfiddle.net/eejeh/

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top