Показать сообщение отдельно
  #1 (permalink)  
Старый 18.11.2014, 01:28
Аспирант
Отправить личное сообщение для alecto Посмотреть профиль Найти все сообщения от alecto
 
Регистрация: 12.11.2014
Сообщений: 84

Перестают работать скрипты после добавления ajax-контента на страницу
Есть форум на PHPBB3, есть блоки в сообщениях, которые изначально свернуты и разворачиваются при наведении на них мышкой.

При добавлении нового сообщения через быстрой ответ с поддержкой ajax мой скрипт перестает работать для такого сообщения (аякс).

Как мне пояснил разработчик быстрого ответа
Потому что скрипты работают на той html-разметке, которая появилась после загрузки страницы, а не обновилась позже без перезагрузки.

Возможно ли перезагрузить скрипт для всей страницы при обновлении аякс? т.е. отключить мой скрипт и включить его заново, например по событию .ajaxComplete()? но именно предварительно отключить, чтобы не было двойного выполнения скрипта, подключенного в document ready.

на всякий случай приложу скрипт, который сейчас подключается в document ready
$('.postprofile').hover(function() {
		if ($(window).width() > 843) {
			$(this).find('.avatar img').stop(true, true).css({margin: '-20px 0 -40px 0'}).animate({margin: '0'},300);
			$(this).find('.profile-custom-field').stop(true, true).show(300);
			$(this).find('.profile-joined').stop(true, true).show(300);
			$(this).find('.profile-rank').stop(true, true).show(300);
			$(this).find('.profile-posts').stop(true, true).show(300);
				var txt1 = '<span id="temp_added_text" style="display: block; padding-left: 70px;"><br/>▲<br/><br/></span>';
			$(this).find('.profile-contact').append(txt1);
		}
	    }, function() {
		if ($(window).width() > 843) {
			$(this).find('.avatar img').stop(true, true).css({margin: '-20px 0 -40px 0'});
			$(this).find('.profile-custom-field').stop(true, true).hide();
			$(this).find('.profile-joined').stop(true, true).hide();
			$(this).find('.profile-rank').stop(true, true).hide();
			$(this).find('.profile-posts').stop(true, true).hide();
			$(this).find('#temp_added_text').remove();
		}
	});



если для иллюстрации нужна ссылка на страницу где можно посмотреть - приложу, если это не запрещено.

или может быть другое решение проблемы?

Последний раз редактировалось alecto, 18.11.2014 в 01:35.
Ответить с цитированием