Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 26.05.2011, 15:32
Новичок на форуме
Отправить личное сообщение для Biosi Посмотреть профиль Найти все сообщения от Biosi
 
Регистрация: 26.05.2011
Сообщений: 3

Проблема с модальным окном
Здравствуйте! У меня такая проблема. Пишу скрипт для вызова модального окна. Для визуализации окна использую механизмы jQuery FadeIn и FadeTo, для сокрытия - Hide.
В окне есть кнопка, по нажатию на которую выполняется некая функция, и окно закрывается.
Проблема в том, что каждый последующий раз по нажатию на эту кнопку функция выполняется несколько раз подряд, ровно столько, сколько ранее вызывалось модальное окно. В чем дело, и как решить задачу? Заранее спасибо!

Вот код (упростил до минимума):

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3c.org/TR/1999/REC-html401-19991224/loose.dtd">
<HTML>
<HEAD>
<TITLE>111</TITLE>
<META http-equiv="Content-Type" content="text/html; charset=utf-8">
<SCRIPT language="javascript" type="text/javascript" src="jquery-core.js"></SCRIPT>
<META content="MSHTML 6.00.6000.16608" name=GENERATOR>
<STYLE type="text/css">
.window {
display:none;
z-index:9999;
}
</STYLE>
<SCRIPT language="javascript" type="text/javascript">
onload = function(){
$(function(){
$('#butt').click(function(e){
build();
});
});
}

build = function(){
$(function(){
$('#dialog').fadeIn(2000);
$('#set').click(function(e){
alert("SET");
$('.window').hide();
});
});
}
</SCRIPT>

</HEAD>
<BODY>
<input id="butt" type="button" value="Кнопка">
<div id="dialog" class="window">Нажмите кнопку<input id="set" type="button" value="Установить"></div>
</BODY>
</HTML>
Ответить с цитированием
  #2 (permalink)  
Старый 26.05.2011, 17:09
Аватар для walik
Профессор
Отправить личное сообщение для walik Посмотреть профиль Найти все сообщения от walik
 
Регистрация: 09.11.2009
Сообщений: 1,101

Вы когда открываете окно, вы постоянно вешаете обработчик, соответственно при каждом открытие вы вешаете одинаковые обработчики и они выполняются много раз.
Вешайте обработчик отдельно от функции.
__________________
"Всегда пишите код так, будто сопровождать его будет склонный к насилию психопат, который знает, где вы живете."
Мой сертификат :-D клацай
Ответить с цитированием
  #3 (permalink)  
Старый 26.05.2011, 17:20
Новичок на форуме
Отправить личное сообщение для Biosi Посмотреть профиль Найти все сообщения от Biosi
 
Регистрация: 26.05.2011
Сообщений: 3

А как понять - "вешаете обработчик"?
Ответить с цитированием
  #4 (permalink)  
Старый 26.05.2011, 17:24
Новичок на форуме
Отправить личное сообщение для Biosi Посмотреть профиль Найти все сообщения от Biosi
 
Регистрация: 26.05.2011
Сообщений: 3

Всё, понял! Спасибо огромное!!! Вот надо же так лажануться...
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Форма обратной связи на AJAX проблемы с модальным окном pavel87 AJAX и COMET 0 26.05.2011 14:30
проблема с окном в ie7 Тима ExtJS 5 05.03.2011 22:12
Проблема с Popup окном vovuslik jQuery 5 12.06.2010 16:12
Помогите с модальным окном!! -Dima- Элементы интерфейса 12 15.04.2010 17:48
Проблема с модальным окном nastya jQuery 2 06.02.2010 14:04