У меня есть этот тестовый код, который отлично работает, за исключением того, что автозаполнение перестает работать при втором открытии диалогового окна. Мне нужно открыть диалог таким образом, используя HTML, потому что я хочу, чтобы он открывался очень быстро, и это был лучший способ. Почему автозаполнение перестает работать во второй раз?
var $container = $('#container'),
$input = $container.find('input:eq(0)');
var source = new Array(2);
source[0] = { value: 1000, label: 'Description' };
source[1] = { value: 1001, label: 'Description' };
$input.autocomplete({ source: source });
var $dialog = $('<div></div>').dialog({
autoOpen: false,
modal: true,
beforeclose: function() { $dialog.html(''); }
});
$('#open').click(function() {
$dialog.dialog('open').html($container);
});
РЕДАКТИРОВАТЬ: причина, по которой я использую html, потому что я хочу открыть пустой диалог, чтобы ускорить его. Если вы сделаете это, диалог станет более отзывчивым. Я хочу продолжать открывать диалог таким образом. Остается загадкой, почему перестают работать обработчики событий и автозаполнение, когда я открываю диалог таким образом? Ничто не изменилось в $ container или $ input.