Получение «CSS & jQuery UI» после -> загрузки jQuery (ajax) - PullRequest
0 голосов
/ 04 октября 2011

У меня есть страница с jQuery UI, работает нормально. На этой странице я изменяю содержимое некоторых контейнеров div с помощью jquery.load (), тоже работает нормально. Но если контент, который я загружаю, сам использует пользовательский интерфейс jQuery (чтобы показать аккордеон или диалог в качестве примера), мне нужно снова загрузить файлы jQuery .js и файл css в контейнер div. Иначе это не сработает: (

Что я могу сделать, чтобы не загружать файлы снова И иметь рабочий ui-диалог, ui-гармонь, ui-кнопки, ... в перезагруженном div?

Надеюсь, вы понимаете, что я хотел сказать :) 1005 *

Ответы [ 2 ]

0 голосов
/ 04 октября 2011

когда вы используете кнопки jquery ui, например, вы инициализируете их с помощью определенного вызова, например:

$( ".button" ).button({ parameters });

сейчас, скажем, вы загружаете большую часть своей страницы через ajax load, jquery.load () или любым другим способом (насколько я знаю, вы можете вручную создавать новые DOM-узлы на лету после определенных нажатий кнопок)

единственное, что вы здесь сделаете, - это оберните свой фрагмент кода в функцию

function initializeButtons(container){
    container = (typeof(container)==="undefined") ? $('body') : container;
    $( '.button', container ).button({ parameters });
}

и везде, где у вас есть загрузка ajax, вы можете вызывать эту функцию в вашем обратном вызове.вот так:

$('#mydiv').load("/mypath/mydata.html", function(){
    // content is loaded, now init the buttons
    initializeButtons($('#mydiv'));
});

теперь сделайте то же самое со всеми элементами jquery ui, которые вы используете, датчиками, аккордеонами, кнопками или другими ...

пожалуйста, имейте в виду, что этоочень простая идея, для большей гибкости вы можете добавить другие функции, чтобы не инициализировать .button(); на одном и том же элементе дважды, вы могли бы добавить для этого тоже своего рода тест и многие другие вещи, но это только основная идеяЭто.

0 голосов
/ 04 октября 2011

Пользовательский интерфейс jQuery опирается на инфраструктуру jQuery.Вы не можете встроить пользовательский интерфейс jQuery в страницу, не имея также самого jQuery.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...