Где разместить действия jQuery для внешних загруженных страниц с помощью вкладок пользовательского интерфейса - PullRequest
1 голос
/ 27 января 2010

Мне интересно, где я должен определить свои действия jQuery для внешних загруженных страниц с помощью вкладок пользовательского интерфейса.

Так, например, у меня есть страница index.html, включающая 3 вкладки. При нажатии на каждую вкладку будут загружены extern1.html, extern2.html, extern3.html. Этим 3 внешним страницам нужно несколько действий jQuery (onload-actions, onclick-actions и т. Д.).

Когда я помещаю весь код jQuery для внешних страниц в индекс и загружаю одну из внешних страниц, этот код jQuery не влияет на внешнюю загруженную страницу, когда я нажимаю на вкладку.

Когда я помещаю весь код jQuery для внешних страниц на саму внешнюю страницу, это вызывает проблемы (я думаю), потому что когда я загружаю вкладку / внешнюю страницу несколько раз, она будет загружать код jQuery снова и снова

Так, где я должен поместить свой код jQuery? (какой-нибудь пример?)

Большое спасибо!

Ответы [ 3 ]

1 голос
/ 27 января 2010

Вы можете поместить свой код в обработчик событий с загрузкой табуляции:

$('.your-tabs-container').tabs({
   load: function(event, ui) { /* your code here */ }
});

или

$('.your-tabs-container').bind('tabsload', function(event, ui) {
  /* your code here */
});

В этих случаях, согласно документации, вы можете получить необходимую информацию о пользовательском интерфейсе из аргумента ui:

ui.tab     // anchor element of the selected (clicked) tab
ui.panel   // element, that contains the selected/clicked tab contents
ui.index   // zero-based index of the selected (clicked) tab
1 голос
/ 27 января 2010

поместите ваш jQuery на материнский html и используйте функцию .live(), чтобы связать нужные вам события. документы здесь .

0 голосов
/ 27 января 2010

Вы должны включить библиотеку jQuery только один раз! На вашей странице индекса. На внешних страницах вы должны включить JavaScript, использованный для этой отдельной внешней страницы:

Индекс:

  • Включить библиотеку jQuery

Внешний 1:

  • Функции jQuery, относящиеся к внешней странице 1

Внешний 2:

  • Функции jQuery, относящиеся к внешней странице 2

Вот как бы я это сделал: -)

...