Проблема с модальным окном
Здравствуйте! У меня такая проблема. Пишу скрипт для вызова модального окна. Для визуализации окна использую механизмы 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> |
Вы когда открываете окно, вы постоянно вешаете обработчик, соответственно при каждом открытие вы вешаете одинаковые обработчики и они выполняются много раз.
Вешайте обработчик отдельно от функции. |
А как понять - "вешаете обработчик"?
|
Всё, понял! Спасибо огромное!!! Вот надо же так лажануться... :)
|
Часовой пояс GMT +3, время: 18:34. |