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

StackOverflow https://stackoverflow.com/questions/2146356

Вопрос

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

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

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

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

Итак, куда мне нужно поместить свой код jQuery?(какой-то пример?)

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

Это было полезно?

Решение

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

$('.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

Другие советы

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

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

Индекс:

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

Внешний 1:

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

Внешний 2:

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

Я бы так сделал :-)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top