Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.09.2014, 18:44
Новичок на форуме
Отправить личное сообщение для AnshaHari Посмотреть профиль Найти все сообщения от AnshaHari
 
Регистрация: 12.09.2014
Сообщений: 4

.append и немного гимороя.
Собственно сама проблема :
При добавлении html кода с помощью метода .append , визуально он появляется (код), а в исходном коде его нет.
Как исправить или исправить подобное нельзя?
Ответить с цитированием
  #2 (permalink)  
Старый 12.09.2014, 18:57
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

ну в иходном коде его и не должно быть
Ответить с цитированием
  #3 (permalink)  
Старый 12.09.2014, 18:57
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

он же исходный
Ответить с цитированием
  #4 (permalink)  
Старый 12.09.2014, 18:58
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

В исходном коде отображается только то что пришло от сервера без каких-либо изменений на стороне клиента.
Ответить с цитированием
  #5 (permalink)  
Старый 12.09.2014, 19:03
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,590

AnshaHari, актуальный html смотри в "инспекторе".)
__________________
29375, 35
Ответить с цитированием
  #6 (permalink)  
Старый 12.09.2014, 19:29
Новичок на форуме
Отправить личное сообщение для AnshaHari Посмотреть профиль Найти все сообщения от AnshaHari
 
Регистрация: 12.09.2014
Сообщений: 4

Просто у меня как-то так. Если я динамически добавляю посты, для них не обрабатываются события подобного рода.

$(document).ready(function($){
...
	$('.post').click(function(event) {
		console.log('click')
		/* Act on the event */
		if (nowPlay) {
			document.getElementById(nowPlay +"music").pause();
		};
		console.log(nowPlay);
		nowPlay = $(this).attr("song");
		document.getElementById(nowPlay +"music").play();
	});
...
});

Последний раз редактировалось AnshaHari, 12.09.2014 в 19:38.
Ответить с цитированием
  #7 (permalink)  
Старый 12.09.2014, 19:37
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

Есть 2 пути решения:
1) Либо заново добавлять обработчики на новые элементы
2) Слушать событие на родителе который не меняется и через event.target отслеживать изменения. Хотя так как вы пользуете jQuery - просто почитайте документацию метода "on", там есть решение вашей проблемы.
Ответить с цитированием
  #8 (permalink)  
Старый 12.09.2014, 19:48
Новичок на форуме
Отправить личное сообщение для AnshaHari Посмотреть профиль Найти все сообщения от AnshaHari
 
Регистрация: 12.09.2014
Сообщений: 4

Сообщение от tsigel Посмотреть сообщение
Есть 2 пути решения:
Хотя так как вы пользуете jQuery - просто почитайте документацию метода "on", там есть решение вашей проблемы.
Результат такой же. Попробую от родителя
...
$('.post').on('click',function(event) {
		console.log('click')
		/* Act on the event */
		if (nowPlay) {
			document.getElementById(nowPlay +"music").pause();
		};
		console.log(nowPlay);
		nowPlay = $(this).attr("song");
		document.getElementById(nowPlay +"music").play();
	});
...
Ответить с цитированием
  #9 (permalink)  
Старый 12.09.2014, 19:53
Профессор
Отправить личное сообщение для tsigel Посмотреть профиль Найти все сообщения от tsigel
 
Регистрация: 12.12.2012
Сообщений: 1,398

Цитата:
.on(events-map, [selector], [data])
:jQueryv:1.7
с помощью этого метода можно установить на выбранные элементы сразу несколько разных обработчиков событий, каждый из которых будет реагировать на свой тип события.

events-map — объект, в котором нужно перечислить типы обрабатываемых событий и соответствующие им обработчики. Задается в формате {events-1:handler-1, events-2:handler-2, ...}, где events-i и handler-i соответствуют параметрам events и handler в первом варианте метода (описанном выше).
selector — селектор по которому будут фильтроваться элементы, лежащие внутри уже найденных. В итоге, обработчик будет срабатывать только в том случае, если событие «поднялось» от одного из отфильтрованных
data — см. выше..
Цитата отсюда.

У вас должно быть примерно так:
$("StaticParentSelector").on("click", "dynamicChildSelector", handler);

Последний раз редактировалось tsigel, 12.09.2014 в 19:55.
Ответить с цитированием
  #10 (permalink)  
Старый 12.09.2014, 19:54
Аватар для Aetae
Тлен
Отправить личное сообщение для Aetae Посмотреть профиль Найти все сообщения от Aetae
 
Регистрация: 02.01.2010
Сообщений: 6,590

Цитата:
Попробую от родителя
Где? Вы делаете то же самое.
__________________
29375, 35
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Необходимо чтобы постом приходили разные значения двух jquery скриптов Константин Владимирович 5 Events/DOM/Window 8 29.07.2013 15:25
Помогите с функциями .append() и .prepend() eko24 jQuery 2 07.11.2012 19:12
Немного переделать скрипт генерации логинов leny Общие вопросы Javascript 3 12.10.2011 18:08
вызов функции по onclick dm_great Общие вопросы Javascript 2 02.10.2011 15:21
.append() и перестает работать обработчик wc3banderlog jQuery 2 30.01.2011 18:54