Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.07.2015, 12:08
Интересующийся
Отправить личное сообщение для Mikhail1989 Посмотреть профиль Найти все сообщения от Mikhail1989
 
Регистрация: 28.01.2015
Сообщений: 26

Выполнение JS в страницах подгруженных через ajax
Подскажите как можно сделать. Есть такой скрипт
$(document).ready(function(){
    
                $('a').click(function(e){
                    e.preventDefault();
                    var link = $(this).attr('href');
                    $.ajax({
                        type:'post',
                        url: link,
                        success: function(mes){
                            $('#content').html(mes);
                            
                        }
                    })
                })
            })

Который находится на странице и подгружает в определенный блок различные html страницы. Как можно сделать чтобы этот скрипт работал также и в подгружаемом блоке?
Ответить с цитированием
  #2 (permalink)  
Старый 23.07.2015, 12:15
Аватар для jasper-blondin
Аспирант
Отправить личное сообщение для jasper-blondin Посмотреть профиль Найти все сообщения от jasper-blondin
 
Регистрация: 11.07.2015
Сообщений: 33

Добавить данный скрипт в подгружаемые страницы. Иначе исходный скрипт не увидит искомые объекты в подгруженной странице.
Ответить с цитированием
  #3 (permalink)  
Старый 23.07.2015, 12:18
Аватар для jasper-blondin
Аспирант
Отправить личное сообщение для jasper-blondin Посмотреть профиль Найти все сообщения от jasper-blondin
 
Регистрация: 11.07.2015
Сообщений: 33

А вообще интересная задача. Получается, нужно, чтобы в блоке #content ссылки также открывали страницы в этом же блоке #content. Похоже на обычный iframe.
Ответить с цитированием
  #4 (permalink)  
Старый 23.07.2015, 12:27
Интересующийся
Отправить личное сообщение для Mikhail1989 Посмотреть профиль Найти все сообщения от Mikhail1989
 
Регистрация: 28.01.2015
Сообщений: 26

Сообщение от jasper-blondin
Добавить данный скрипт в подгружаемые страницы. Иначе исходный скрипт не увидит искомые объекты в подгруженной странице.
Добавлять так пробовал. Но штука заключается в том, что в этом случае количество запросов увеличиваются в прогрессии при каждом переходе.
Ответить с цитированием
  #5 (permalink)  
Старый 23.07.2015, 12:30
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,069

Mikhail1989,
ставить клик на документ а не на ссылку
$(document).on('click', 'a' , function(e){})
Ответить с цитированием
  #6 (permalink)  
Старый 23.07.2015, 13:18
Интересующийся
Отправить личное сообщение для Mikhail1989 Посмотреть профиль Найти все сообщения от Mikhail1989
 
Регистрация: 28.01.2015
Сообщений: 26

Сообщение от рони Посмотреть сообщение
Mikhail1989,
ставить клик на документ а не на ссылку
$(document).on('click', 'a' , function(e){})
огромное Вам спасибо за помощь, мучился уже не первый день.

Извините, а не можете ли Вы подсказать как в ajax подгружать выполнение скриптов. Есть подгружаемый контент в котором элементы должны обрабатываться скриптами, но этого не происходит, так как скрипты загруженные при начальной загрузке сайта, не распространяются на контент подгруженный через ajax.
Ответить с цитированием
  #7 (permalink)  
Старый 25.07.2015, 17:07
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,069

Сообщение от Mikhail1989
загруженные при начальной загрузке сайта, не распространяются на контент
инициализировать контент по новой после загрузки.
Ответить с цитированием
  #8 (permalink)  
Старый 26.07.2015, 07:30
Профессор
Отправить личное сообщение для laimas Посмотреть профиль Найти все сообщения от laimas
 
Регистрация: 14.01.2015
Сообщений: 12,990

Сообщение от Mikhail1989
как в ajax подгружать выполнение скриптов
Возвращается некий html, в котором есть и JS выполняемый по загрузке контента:

<?
if($_POST['a']) exit(
    '<div id=as></div>
    <script> 
        $(function() {
            $("#as").text("Опаньки!").css({color:"#f00"})
        });
    </script>'
)
?>
<html> 
<head> 
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" /> 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js" type="text/javascript"></script>
<script> 
$(function() {
    $.post(location, {a:1}, function(d) {
        $('body').append(d)
    }, 'html')
});
</script>     
</head> 

<body>
</body> 
</html>
Ответить с цитированием
  #9 (permalink)  
Старый 27.07.2015, 10:51
Интересующийся
Отправить личное сообщение для Mikhail1989 Посмотреть профиль Найти все сообщения от Mikhail1989
 
Регистрация: 28.01.2015
Сообщений: 26

Сообщение от рони Посмотреть сообщение
инициализировать контент по новой после загрузки.
извините за, может быть, глупый вопрос, но как инициализировать контент по новой?
Ответить с цитированием
  #10 (permalink)  
Старый 27.07.2015, 10:57
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,069

Mikhail1989,
а как до того , что и чем инициализировали ? у хороших плагинов есть refresh
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Jquery Ajax не работает через определенных провайдеров Fairy-Wilbury AJAX и COMET 0 10.07.2014 16:33
При отправке через ajax не открывается файл-адресат temuch-13 AJAX и COMET 6 09.07.2014 17:03
Не выполняется JS в тегах загруженных через Ajax Selen Events/DOM/Window 4 24.05.2014 21:09
Передача HTML кода на сервер через Ajax KomaLex AJAX и COMET 2 06.12.2012 15:28
Как реализовать отключения JS кода через админку ? lamer Серверные языки и технологии 4 08.02.2012 17:23