如何调度SyntheticEvent事件?

时间:2015-06-16 21:27:46

标签: reactjs

我正在研究一个没有任何输入/选择元素的组件但是我希望它表现得像一个,调用React输入所做的相同事件,期望有这样的工作:

<div onChange={this.onChange}>
    <MyComponent/>
    <input type="text"/>
</div>

在该示例中,input和MyComponent都应该到达this.onChange侦听器。

我知道如何调度真正的DOM事件,但是这不是针对onChange侦听器,而是针对DOM上真正的addEventListener:

var event = document.createEvent('HTMLEvents');
event.initEvent('change', true, false);

this.getDOMNode().dispatchEvent(event);

也许答案是here(或here?),但我仍然在努力解决这个问题。

更新

感谢@limelights准备一个游乐场:

http://jsfiddle.net/coma/a8wgh5wk/1/

1 个答案:

答案 0 :(得分:0)

通过React的onChange事件仅适用于表单控件,这意味着您永远不会让它们在DIV标记上注册为处理程序。