小编Mat*_*don的帖子

在React App中触发合成事件

我正在为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来触发事件

javascript jquery events facebook reactjs

9
推荐指数
1
解决办法
1757
查看次数

标签 统计

events ×1

facebook ×1

javascript ×1

jquery ×1

reactjs ×1