@SmartBalance

Обработчик на вновь созданный элемент?

Подскажите пожалуйста, как изменить конструкцию, чтобы функция выравнивания высоты блоков(equalizeHeights) срабатывала на добавленные/появившиеся элементы?

<script type="text/javascript">	
		$(document).ready(function(){
			$.fn.equalizeHeights = function() {
			  var maxHeight = this.map(function(i,e) {
				return $(e).height();
			  }).get();

			  return this.height( Math.max.apply(this, maxHeight) );
			};
			
			$(".one-block-news-txt").equalizeHeights();

		});
	</script>


Заранее благодарю за срочный ответ
  • Вопрос задан
  • 167 просмотров
Решения вопроса 1
IonDen
@IonDen
JavaScript developer. IonDen.com
Вообще-то .on тут не при чем. Это можно сделать двумя способами:
1. Кроссбраузерный. Каждый раз при добавлении элементов, вручную вызывать функцию заново. Скажем элементы у вас вставляет некая другая функция, так вот, в ту функцию поместите вызов своей.
2. Не очень кроссбраузерный. Реальное отслеживание изменений в DOM, в этом вам может помочь Mutation Observer, который в частности может отслеживать появление и удаление элементов из DOM.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы