Не закрывается диалоговое окно
Ещё один вопрос, который не даёт мне покоя.
Есть диалоговое окно, которое формирует в своём теле таблицу с данными о записи (и ссылками на неё) + встроенный календарик для выбора даты записи. Проблема в следующем: Окно вызывается первый раз, всё корректно отображается и работает. Жму Esc или по крестику -> закрывается. Запускаю вновь (страницу не перегружаю. Если перегрузить, то вновь корректно отработается первое закрытие), пытаюсь закрыть, ноль эмоций. В FireBag отследил, что увеличивается при каждом нажатии z-index. Повесил на диалоговое окно stack, z-index перестал расти, но результат не изменился, окно не закрывается. Вешал принудительно: close: function(ev, ui) { $('input',this).val(''); Реакции ноль! В чём проблема, понять не могу. Прямо напасть какая-то. Если кто сталкивался с подобным или есть предположения, в чём проблема, прошу помочь Ниже код на само окно. Хотя есть ли смысл в его публикации function open_history(obj) { var alias = $(obj).parents('li').attr('alias'); if(($("#history_"+alias).length > 0)) { //$("#history_"+alias).toggle(); var tdiv = $("#history_"+alias); $(tdiv).parent().show(); } else { var tdiv = $('<div/>',{id: "history_"+alias, class: "history", title: cams[alias].name+" - История записей:"}); $(tdiv).dialog({width: 'auto',height: 'auto', stack: false}); var datepick = $('<input/>',{id: "dp_"+alias, class: "datepick",value: new Date().toLocaleFormat('%d-%m-%Y')}); $(datepick).appendTo(tdiv); $(datepick).datepicker({ dateFormat: "dd-mm-yy", showOtherMonths: true, showButtonPanel: true, selectOtherMonths: true, showOn: "button", buttonImage: cam_control+"/icons/calendar.png", buttonImageOnly: true, onSelect: function(dateText, inst) { request_history(alias,$(datepick).val(), tdiv); } }); $(datepick).datepicker($.datepicker.regional[ 'ru' ] ); $('<div/>',{id: "hrefresh_"+alias,alias: alias,class: "hrefresh"}).appendTo(tdiv); $("#hrefresh_"+alias).click(function() { if(undefined != $("#thistory_"+alias)) {$("#thistory_"+alias).remove();} //replaceWith(Загрузка) request_history(alias,$(datepick).val(), tdiv); //(Загрузка).remove() //show_history(tdiv,alias,$(datepick).val()); }); request_history(alias,$(datepick).val(), tdiv); } //show_history(tdiv,alias,$(datepick).val()); } |
Цитата:
<!DOCTYPE html> <html> <head> <script src="http://code.jquery.com/jquery-latest.js"></script> <!-- <link rel="stylesheet" type="text/css" href="tmp.css" /> --> <style type="text/css"> #box { position: fixed; top: 100px; left: 100px; width: 200px; min-height: 22px; border: 1px solid; display: none; } #box.on { display: block; } #box > div { margin-right: 22px; } #box > button { position: absolute; top: 1px; right: 1px; width: 20px; height: 20px; padding: 0; } </style> <script type="text/javascript"> $(document).ready(function (){ $('.btn').click(function (){ $('#box').addClass('on'); }); $('#box > button').click(function (){ $('#box').removeClass('on'); }); }); </script> </head> <body> <a href='#' class='btn'>Test</a> <div id='box'> <div>Text</div> <button>x</button> </div> </div> </body> </html> Что именно не работает у тебя? |
<!doctype html> <html lang="en"> <head> <meta charset="utf-8" /> <title>jQuery UI Dialog - Default functionality</title> <link rel="stylesheet" href="http://code.jquery.com/ui/1.10.1/themes/base/jquery-ui.css" /> <script src="http://code.jquery.com/jquery-1.9.1.js"></script> <script src="http://code.jquery.com/ui/1.10.1/jquery-ui.js"></script> <link rel="stylesheet" href="/resources/demos/style.css" /> <script> $(function() { $( "#dialog" ).dialog({ "autoOpen": false }); $('#open').on('click',function(){ $( "#dialog" ).dialog('open'); }); }); </script> </head> <body> <div id="dialog" title="Basic dialog"> <p>This is the default dialog which is useful for displaying information. The dialog window can be moved, resized and closed with the 'x' icon.</p> </div> <button id="open"> ОТКРЫТЬ</button> </body> </html> |
При повторном запуске окна, оно ни как не риагирует на закрытие. Проще говоря не закрывается ни какими способами
|
Jopses, где твой тестовый пример? Мы свои показали - они работают.
|
А Вы юморист) Если бы я смог собрать хотя бы приблизительный пример, основываясь на функциональности этого окна) Но увы и Ах! Просто может кто встречался с подобным и знает как заглушить этот баг не прибегая к переписыванию с нуля)
|
Сам ты юморист )))
плагин как я полагаю из jquery UI. ты даже непотрудился разобрать мой пример. Если посмотриш, то я инициализировал плагин один раз. А затем вызываю его при помощи команды open. Вызываю столько раз, сколько мне потребуется, и без каких либо проблем. ты же блин ( судя по коду который показал ) пытаешся инициализировать плагин каждый раз, для каждого вызова. Open неиспользуешь совсем. Неужели разницы невидно. И это небаг, это неправильное использование плагина. |
И не надо так ругаться) Спасибо что указали на мою погрешность и опрометчивость. Проанализирую, прикручю, посмотрю что получится
|
Часовой пояс GMT +3, время: 21:12. |