Создание елементов динамически

Здраствуйте!

Подскажите как исправить такую ситуацию, у меня єсть функция которая генерирует html елемент
var ITEMTEMPLATE = "<input type=\"range\" id=\"<%= uniqueId %>\" value=\"0\" min=\"<%= minValue %>\" max=\"<%= maxValue %>\" step=\"<%= rangeStep %>\">";

		function RangeControl( config )
		{
			var control
				, output;

			function rangeValueChanged( event )
			{
				//Do something
			};

			slidersContainer.innerHTML += _.template( ITEMTEMPLATE , config );

			control = document.getElementById( config.uniqueId );
			if ( control )
			{
				control.addEventListener( "change" , rangeValueChanged.bind( control ) , false );
			}
		}


в цикле я пробую делать так
for( var i = 0 ; i < 3 ; i++ )
{
new RangeControl( someConfig )
}


Так вот change у меня срабативаєт только для последнего созданого елемента. Как зделать ету фунцию генерации елементов так чтоб работали все подписки на всех созданих елементах
  • Вопрос задан
  • 2375 просмотров
Решения вопроса 1
ghaiklor
@ghaiklor
NodeJS TechLead
Используйте insertAdjacentHTML вместо innerHTML атрибута.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@ForveAvar Автор вопроса
только что заметил что если я создаю контрол через
document.createElement...
то все роботает как положено, в чом проблема добавления через innerHTML а потом получениє через getElementById?
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы
26 нояб. 2024, в 09:17
40000 руб./за проект
26 нояб. 2024, в 08:55
10000 руб./за проект
26 нояб. 2024, в 04:41
1500 руб./за проект