когда вы используете кнопки 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();
на одном и том же элементе дважды, вы могли бы добавить для этого тоже своего рода тест и многие другие вещи, но это только основная идеяЭто.