【问题标题】:How can I dispatch SyntheticEvent events?如何调度 SyntheticEvent 事件?
【发布时间】:2015-09-01 22:02:11
【问题描述】:

我正在开发一个没有任何输入/选择元素的组件,但我希望它表现得像一个,调度与 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/

【问题讨论】:

标签: reactjs


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2014-08-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-11-20
    • 2019-07-03
    相关资源
    最近更新 更多