Jquery диалоговые окна
Добрый день))) Опять пристаю ко всем со своими глупыми вопросами, вместо того, чтобы подумать, но:
$('#clickit').button().click(function(){
$('#box').dialog('open');
$('#box').dialog({
autoOpen: false,
width: 640,
height: 480,
buttons: {
"Ok": function() {
alert("dialog2");
},
"Cancel": function() {
$(this).dialog("close");
}
}
});
});
Диалоговое окно запускается только после второго нажатия, но если добавить перед этой функцией:
$('#box').dialog({
autoOpen: false,
width: 640,
height: 480,
buttons: {
"Ok": function() {
alert("dialog1");
},
"Cancel": function() {
$(this).dialog("close");
}
}
});
то диалоговое окно запускается сразу после первого нажатия, как избавится от лишнего текста? |
$('#clickit').button().click(function(){
$('#box').dialog({
autoOpen: false,
width: 640,
height: 480,
buttons: {
"Ok": function() {
alert("dialog2");
},
"Cancel": function() {
$(this).dialog("close");
}
}
});
$('#box').dialog('open');
});
Так попробуйте. |
$('#box').dialog({
autoOpen: false,
width: 640,
height: 480,
buttons: {
"Ok": function() {
alert("dialog2");
},
"Cancel": function() {
$(this).dialog("close");
}
}
});
этот код является инициализацией диалогового окна
$('#box').dialog('open');
а этот код является открытием(отображением) предварительно синициализированого диалогового окна поэтому при первом клике $('#box').dialog('open'); несрабатывает поскольку еще не было инициализации после чего происходит инициализация при втором клике окно инициализировано и $('#box').dialog('open'); срабатывает советую вынести код инициализации из обработчика события click либо поместить в условие "была ли инициализация":
$("#clickit").button().bind("click", function(event) {
var $box = $("#box");
if ($box.data("isInitialized") == null) {
$box.dialog({
autoOpen: true,
width: 640,
height: 480,
buttons: {
"Ok": function() {
alert("dialog2");
},
"Cancel": function() {
$box.dialog("close");
}
}
});
$box.data("isInitialized", true);
} else {
$box.dialog("open");
}
});
|
Спасибо, уже решил проблемку))) Примерно так же только без проверки isInitialized
|
| Часовой пояс GMT +3, время: 05:47. |