Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

JQuery событие срабатывает только один раз, а нужно постоянное срабатывание.

Влад Мед Ученик (245), на голосовании 8 лет назад
Здравствуйте! В общем такая проблема .
При нажатии на кнопку появляется модальное окно (.popup).Есть функция которая при клике на пустую область окна ( .menu )закрывает модальное окно.

$(function(){
$(document).click(function(event) {
if ($(event.target).closest(".menu").length) return;
$(".popup").hide("slow");
event.stopPropagation();
});
});

Проблема в том, что при повторном нажатии на кнопку вызова модального окна - модальное окно не открывается, нужно только перезагружать страницу. То есть функция работает только один раз, как сделать чтобы срабатывала всегда без перегрузки страницы??
Голосование за лучший ответ
Дмитрий Ромашын Мастер (1389) 8 лет назад
Так попробуйте вот так:
function hideShowDiv(){
$('ID ELEMENT').toggle('slow');
}
Влад МедУченик (245) 8 лет назад
Извините я ноль в JQery, пытаюсь разобраться, но... где вставить эту функцию ?
Дмитрий Ромашын Мастер (1389) Где угодно в js файл
tom Мастер (1481) 8 лет назад
В приведенном коде описана только обработка закрытия. Неплохо бы скрипт открытия увидеть
Евгений Щанькин Гуру (4484) 8 лет назад
Почитай про функцию live
она помогает задавать обработчики даже будущим элементам.
И создает раз и навсегда

пример клика такой:
$(function(){
$(document).live('click', function(event) {
...
});
});
Похожие вопросы