2013-10-08 4 views
0

В настоящее время я обновляюсь с JQuery UI 1.8.14 до пользовательского интерфейса JQuery 1.10.Открытие вкладок пользовательского интерфейса JQuery в новой вкладке браузера через ajax отображает HTML-ответ ajax напрямую

С кодом v1.8.14, открыв вкладку с новой вкладке браузера будет перезагружать всю страницу, которая активирует вкладки по умолчанию (то есть. TabIndex = 0)

Я встретив вопрос относительно JQuery UI и открытие вкладки в новой вкладке/окне браузера. На моей странице, щелкнув правой кнопкой мыши вкладку и выбрав «открыть ссылку в новой вкладке». Содержимое вкладки будет загружено через ajax

Проблема заключается в том, что новая страница будет отображаться в HTML-ответе ajax без CSS-стилей, JavaScript или чего-то еще.

Это, по-видимому, изменение дизайна командой JQuery UI. См. Ниже ссылку: http://bugs.jqueryui.com/ticket/9363

Это кажется мне распространенной проблемой, но я не могу найти никаких решений. Любые предложения по обходному пути или исправлению?

действительно хороший пример, чтобы продемонстрировать этот вопрос будет страница JQuery UI Tabs Demo: http://jqueryui.com/tabs/

правой кнопкой мыши любой вкладки и выберите «Открыть ссылку в новой вкладке».

Спасибо за помощь!

ответ

0

В событии beforeActivate для каждой вкладки храните href в качестве объекта данных, а затем установите href как элементы управления ариями.

$(ui.newTab).parent().find("li a").eq(i).data("href.tabs",$(ui.newTab).parent().find("li a").eq(i).attr('href')); 
    $(ui.newTab).parent().find("li a").eq(i).attr('href', '#'+$(ui.newTab).parent().find("li").eq(i).attr('aria-controls')); 

В случае активации для каждой вкладки задайте значение из объекта данных как href.

$(ui.newTab).parent().find("li a").eq(i).attr('href', $(ui.newTab).parent().find('a').eq(i).data("href.tabs")); 
Смежные вопросы