Я следую за этой веткой, чтобы отключить / включить нажатие на кнопку, Лучший способ удалить обработчик событий в jQuery?
Его идея заключается в том, что вы также можете использовать живую() метод для включения / отключения событий.Что произойдет с этим кодом, так это то, что когда вы щелкаете элемент тега, например, .load-item, он добавляет класс, отключенный к этому элементу.Это сделает так, что селектор больше не будет соответствовать элементу, и событие не будет запущено до тех пор, пока не будет удален класс «disabled», в результате чего селектор .live () снова станет действительным.
Ниже я пояснилс и он отключает нажатие на первую кнопку,
$('.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;
});
У меня естьпроверил, что он удаляет отключенный класс, но первая кнопка все еще не вернулась к исходному кликабельному состоянию.
я что-то пропустил - или live () на самом деле живет только один раз?какие-нибудь лучшие решения, если live () - это не то, над чем я должен работать ??
спасибо.