2012-05-03 2 views
2

Предположим, что у меня есть следующие DOM:Как установить вид ребенка элемент из существующего элемента в DOM

<div id="container"> 
    <div id="created-by-other-tools">I want this to be my child</div> 
</div> 

ДИВ «контейнер» происходит от Ember.ContainerView:

container = Ember.ContainerView.create { 
     elementId: 'container' 
} 

ДИВ «сотворены по-других-инструментов» происходит от другого яваскрипта кода, который имеет ничего TODO с Эмбер:

newDiv = document.createElement('div') 
container.appendChild(newDiv) 

можно ли связать это newDiv с дочерним видом моего контейнера? Я хочу что-то вроде этого:

child = Ember.View.create() 
Ember.set(child,'element',newDiv) 

Моя идея - обработать событие newDiv с моим дочерним видом.

ответ

3

Я создал пример использования KinectJS с ember.js см http://jsfiddle.net/pangratz666/e6Dfh/

Ember.View.create({ 
    didInsertElement: function() { 
     var id = this.get('elementId'); 
     var stage = new Kinetic.Stage({ 
      container: id, 
      width: 578, 
      height: 200 
     }); 

     var layer = new Kinetic.Layer(); 
     ... 
    } 
}).append(); 

Также смотрите на этом блоге: http://blog.sproutcore.com/using-raphael-js-with-sproutcore-2-0/. Все жестко написано для SproutCore 2.0, это может вам помочь.

+0

Что я действительно хочу сделать, это использовать кинетические http://www.kineticjs.com/ с ember. Kineticjs нуждается в контейнере, поэтому я даю ему идентификатор моего Ember.ContainerView (это может быть просто представление). Затем он создает элемент содержимого внутри моего контейнера div. Мне нужно обрабатывать события из этого контента. Я могу сделать это вручную с помощью element.addEventListener (...), но я хотел бы использовать более укротительный способ. Поэтому мне интересно, можно ли обернуть это содержимое внутри Ember.View и обработать событие, как обычно, с Ember. – jrabary

+0

Итак, о каких событиях мы говорим? – pangratz

+0

события, такие как щелчок, mousedown, drag, ... – jrabary

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