После щелчка отмените привязку <li>, а затем снова выполните связывание
Я создал раскрывающийся список. Когда вы нажимаете "Контакт", появляется огромное окно контактов. Когда я нажимаю "Закрыть", он исчезает. Этот функционал работает.
Что мне нужно, это отменить привязку элемента списка, как только форма открыта, но после закрытия включите его снова.
Код ниже.
jQuery(document).ready(function() {
jQuery("#header ul.menu li:last-child").addClass("open");
jQuery("#header ul.menu li.open").click(function() {
jQuery(this).unbind("click");
jQuery("#contact").animate({marginTop:'+=426px'}, 2000);
return false;
});
jQuery("#contact a#close").click(function() {
jQuery("#contact").animate({marginTop:'-=426px'}, 2000);
jQuery("#header ul.menu li:last-child").live("click", function() {
});
return false;
});
});
1 ответ
Вы должны указать ссылку на функцию .unbind()
/ .bind()
,
function click_handler() {
// do something
}
jQuery("#header ul.menu li.open").click(function() {
jQuery(this).unbind("click", click_handler);
jQuery("#contact").animate({marginTop:'+=426px'}, 2000);
return false;
});
// some code
jQuery("#header ul.menu li.open").bind('click', click_handler);