- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在开发一个没有任何输入/选择元素的组件,但我希望它表现得像一个组件,调度与 React 输入相同的事件,期望有这样的工作:
<div onChange={this.onChange}>
<MyComponent/>
<input type="text"/>
</div>
在该示例中,input 和 MyComponent 都应到达 this.onChange 监听器。
我知道如何分派(dispatch)真实的 DOM 事件,但这并不能将其发送到 onChange 监听器,而只能发送到 DOM 上的真实 addEventListener:
var event = document.createEvent('HTMLEvents');
event.initEvent('change', true, false);
this.getDOMNode().dispatchEvent(event);
也许答案是here (或here?),但我仍在为此苦苦挣扎。
更新
感谢@limelights 准备了一个 Playground :
最佳答案
React 的 onChange
事件仅适用于表单控件,这意味着您永远无法让它们注册为 DIV 标记上的处理程序。
关于reactjs - 如何调度 SyntheticEvent 事件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30878534/
这个问题已经有答案了: ReactJS: Can I create my own SyntheticEvent? (3 个回答) 已关闭 1 年前。 如何创建自己的 React SyntheticEv
检查任何类型的给定对象是否是 SyntheticEvent 的最佳方法是什么? ? 目前,我正在研究内部结构: if (obj.nativeEvent ) { // 100% sure...w
我正在开发一个没有任何输入/选择元素的组件,但我希望它表现得像一个组件,调度与 React 输入相同的事件,期望有这样的工作: 在该示例中,input 和 MyComponen
我正在实现一些扩展 JDialog 的对话框窗口,并且需要实现一些键盘快捷键,例如: class MyDialog extends JDialog implements KeyListener {
在 vanilla React 中你得到 currentTime 就像 (e) => e.target.currentTime 在 typescript 中执行上述操作 ^3.1.6 结果 Prope
我有一个包含多个 input 的容器盒子(具有不同的属性)。我想改变所有这些的按键行为。我想知道是否有比手动放置更好的方法 onKeyDown={this.handleKeydown}每个的属性(pr
我正在使用 ReactJS,它是 SyntheticEvent 来跟踪事件及其目标 DOM 节点。 我正在创建一些可变组件,我希望它们触发 SyntheticEvent 以跟踪 DOM 并使用 e.t
我需要编写一个测试来模拟点击人字形来更改页面。 onClick 发生时调用的函数有一个合成事件处理程序作为参数,我需要一些方法来模拟这个事件处理程序(或重写具有相同功能的代码)。我目前收到错误 类型错
我使用两个库,一个发出“原始”DOM 事件 (lib.dom.d.ts) 的库,另一个使用 React.SyntheticEvents 的库. 的最佳方式是什么?干净利落将原始事件转换为 Synthe
我正在尝试在 ReactJS 组件中使用 event.stopPropagation() 来阻止点击事件冒泡并触发遗留代码中 JQuery 附加的点击事件,但似乎 React 的 stopPropag
系统信息: OSX 10.12.4 Sierra Node v7.10.0 npm v4.2.0 已测试的浏览器: Chrome 58.0.3029.110 Safari 10.1 Firefox 5
在我的 react-typescript-electron 项目中,我有: "devDependencies": { "@types/react": "^17.0.0", "@types/re
我是一名优秀的程序员,十分优秀!