Как интегрировать плагин jQuery UI.Layout в сайт AJAX? - PullRequest
0 голосов
/ 30 июня 2011

Я успешно использовал jQuery UI.Layout Plug-in на некоторых тестовых страницах, но у меня не получилось, когда я попытался интегрировать макеты в веб-сайт AJAX.

Когда я загружаю страницу, которая использует макеты, все в порядке в первый раз, но во второй раз, когда я пытаюсь загрузить тот же плагин макета страницы, не работает.Упрощение Я заметил, что проблема не в AJAX, иначе в плагине макета.Это самый простой пример, который я нашел:

function m() {
    $("body").html('xxx');
}

function m2() {
    $("body").html('<div class="ui-layout-west">west</div><div class="ui-layout-east">east</div><div id="mainContent"></div>')
    outerLayout = $("body").layout( layoutSettings_Outer );
}

$(document).ready( function() {
    m2();

    setTimeout("m()", 3000);
    setTimeout("m2()", 5000);
});

Когда документ загружен, макет в порядке.Через 3 секунды макет исчезает (как и ожидалось), а через 2 секунды исходная страница возвращается, но каждый DIV работает так, как будто плагин макета не загружен.

1 Ответ

0 голосов
/ 01 июля 2011

Я отвечу на свой вопрос:

outerLayout.destroy () решает проблему. Он должен вызываться, если вы выгружаете любой макет DIV. В этом случае достаточно вызвать destroy () непосредственно перед $ ("body"). Html ('xxx'); (первая строка в функции m ()).

...