2015-07-21 2 views
0

Я хочу добавить холст для взаимодействия компонента. Что я достиг:Добавить внешний JS для взаимодействия компонента

var React = require('react'), 
    c = require('./../canvas_animation'); 

var Home = React.createClass({ 

componentDidMount: function() { 
    React.findDOMNode(this).childNodes[1].appendChild(c); 
    }, 

Это link содержит холст анимации.

Проблема: все работает нормально, реагируя отдельно от событий мыши? Как я могу заставить их работать?

jQuery(document).ready(function() 
      { 
       $(document).mousedown(function(e) 
       { 
        onMouseDown(); 
       }); 

       $(document).mouseup(function(e) 
       { 
        onMouseUp(); 
       }); 
      }) 

Replicated здесь реагируют на возникновение событий.

+0

, что мыши события вы хотите использовать? Что ты хочешь делать? –

+0

Обновлен вопрос о включении событий. Они не работают, когда визуализируются в реакции. Я хочу эту нормальную функциональность, но реагирую. –

+0

Почему вы используете 'document'? вы хотите, чтобы эти события срабатывали, когда они произошли на компоненте? –

ответ

0

React.js использует систему синтетических событий http://facebook.github.io/react/docs/events.html. Первый шаг должен были бы приложить события на реакцию узла непосредственно:

render: function() { 
    return <div onMouseDown={onMouseDown} onMouseUp={onMouseUp}></div>; 
} 

затем использовать позицию мыши из аргументов событий непосредственно:

function onMouseDown(e) 
    { 
    mouseX = e.pageX; 
    mouseY = e.pageY; 
    ... 
    } 

Я также замененный Привет мира с пустым DIV, потому что это влияет на размере stageHeight и сумел иногда перемещать шары на перетаскивание, вы должны выяснить, какие оставшиеся части нужно обновить. Вот обновленная скрипка:

https://jsfiddle.net/69z2wepo/12491/

+0

Вызывается обработчики событий GurpreetSingh, вы можете проверить отладчик, но код должен быть обновлен далее, чтобы полностью полагаться на систему событий React –

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