2013-09-23 2 views
1

Это то, что я trying:Доступ свойства элемента DOM, соответствующего представлению, после обновления DOM завершается

  1. Просмотр образа, выбранного с помощью FileReader, используя вид уголек.
  2. Получить информацию о выбранном изображении (naturalWidth). Для этого, что я делаю, получаю связанный DOM элемент с помощью JQuery и уголька elementId

(я не знаю, если есть лучший способ, чтобы получить соответствующий элемент DOM, или даже лучше, чтобы непосредственно получить доступ к свойства элемента DOM из объекта просмотра, даже не обращаясь к DOM)

Основная проблема, с которой я столкнулся, заключается в том, что когда атрибут src элемента img обновляется (поскольку выбран новый файл), атрибуты элементов не доступны сразу. Значения - это те, которые были установлены до загрузки данных. На первом выборе:

width=100 height=0 naturalWidth=0 naturalHeight=0 

(На последовательных выборах, параметры из старого изображения найдены)

Я предполагаю, что это займет некоторое время для элемента DOM для обработки новых данных в атрибуте src. Как я могу инициировать действие, когда DOM завершил обновление элемента?

(Речь идет не о создании элемента, так как он уже есть, но завершение об обновлении)

ответ

0

я думаю, что вы можете использовать didInsertElement:

App.PreviewUploadImage = Ember.ContainerView.extend({ 
didInsertElement:function(){ 
console.log(this.$().find('img')); 
}, 
+1

Спасибо, но, по словам моего тестирования, 'didInsertElement' запускается, когда элемент вставлен в первый раз, а не когда он обновляется. – dangonfast

+0

, а как насчет использования привязок атрибутов? создайте вычисленную porperty с src свойства изображения, а затем каждый раз, когда src изменился, вы знаете. – MBehtemam

Смежные вопросы