我正在为Facebook编写Chrome扩展程序,并希望以编程方式触发在帖子上提交重点评论草稿.默认行为是在用户点击Enter键时提交,因此我试图诱骗Facebook UI认为用户这样做了.
Facebook使用React和contenteditablediv作为评论表单.
这是我尝试过的一系列事情:
1)jQuery事件触发 $('<the contenteditable div>').trigger($.Event('keydown', {which: 13}))
postMessage和Chrome控制台)document从每个上下文触发事件.2)同样的事情,但VanillaJS事件触发.相关的StackOverflow问题
3)此时我意识到这是React并且它使用它自己的SyntheticEvents,所以我基本上复制/粘贴了该Simulate函数,ReactTestUtils它应该通过模拟事件帮助测试并在页面环境中运行(required通过Facebook的前端抓取对象的引用)require功能).
我已经尝试了大多数keydown事件,因为它拥有最多的听众.
我知道这些问题,但它们没有帮助我理解:强制React通过注入JavaScript来触发事件