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, время: 12:33. |