Не закрывается диалоговое окно
Ещё один вопрос, который не даёт мне покоя.
Есть диалоговое окно, которое формирует в своём теле таблицу с данными о записи (и ссылками на неё) + встроенный календарик для выбора даты записи. Проблема в следующем: Окно вызывается первый раз, всё корректно отображается и работает. Жму 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, время: 02:20. |