2012-03-19 6 views
0

Я ищу способ загрузить страницу (страница A) (которую я также создаю, а не внешнюю страницу в Интернете) на существующую страницу (страница B) динамически. Цель состоит в том, чтобы повлиять на поведение страницы A в Javascript/jquery, используемой на стр. B. Пример: при нажатии кнопки на странице A я хочу, чтобы на этом этапе JavaScript на странице B реагировал.Доступ к основному javascript после загрузки jQuery

Я пытался сделать это с помощью JQuery $() функция нагрузки(), но это не позволяет мне называть JavaScript страницы B от страницы А.

Конкретный код:. моя страница B содержит следующее:

jQuery(document).ready(function() { 
    jQuery('#mycarousel').jcarousel({ }); 
}); 

и у меня есть функция, которая будет добавлять новую вкладку для карусельного и загрузки содержимого из страницы (страницы а) в этой вкладке.

$('.ref').click(function() { 
     var newTabId = jQuery('#mycarousel').jcarousel('size') + 1; 
     carousel 
       .add(
         newTabId, 
         "<li style='width: 50%;'><div id='tab" + newTabId + "' style='height: auto;'></div></li>"); 
     // load content 
     $("#tab" + newTabId).load("/relativepath/" + $(this).attr('id')); 
    }); 

Это работает для статического содержимого (поэтому, когда у меня есть статические вкладки в карусели). Теперь я хочу, чтобы это также работало для вкладок, которые добавляются динамически. Пример: Фаза 1: [Вкладка 1] [Вкладка 2] я нажать на кнопку на вкладке 1, новая вкладка создается и содержимое загружается из/в/относительной/путь

Pase 2: [ вкладка 1] [вкладка 2] [вкладка 3] Я нажимаю кнопку на вкладке 3 и добавляю новую вкладку, а содержимое с другого относительного пути должно быть загружено в карусель.

Я надеюсь, что я сделал мои вопросы ясно :)

+0

У вас должна быть открыта обе страницы, либо в дочернем окне, либо в виде дочернего элемента iframe, чтобы сценарий на обоих взаимодействовал. –

+0

Рад, что я мог помочь! – Relic

ответ

0

Вы нуждаетесь в «.on) (» метода ... Каждый раз, когда я вижу AJAX и связывание вопроса это, как правило, ответ.

$('body').on("click", '.ref', function() { 
    var newTabId = jQuery('#mycarousel').jcarousel('size') + 1; 
    carousel.add(newTabId, 
     "<li style='width: 50%;'><div id='tab" + newTabId + "' style='height: auto;'></div></li>"); 
    // load content 
    $("#tab" + newTabId).load("/relativepath/" + $(this).attr('id')); 
}); 

Основе ваш вопрос, я не уверен, если это решит вашу проблему, но вы заметите, что при использовании «.По()» вместо «.click()» он наблюдает за первоначальный селектор элемент для «щелчка» на «.ref» независимо от того, существует ли элемент при анализе javascript/jQuery или после добавления в DOM элемента «.ref».

Смежные вопросы