Javascript 反应内容可编辑-如何将onClick分配给<;span>;在什么地方?

Javascript 反应内容可编辑-如何将onClick分配给<;span>;在什么地方?,javascript,reactjs,contenteditable,Javascript,Reactjs,Contenteditable,我是否可以使用这样的东西: <span onClick={(e) => console.log(e)}>Testing</span> console.log(e)}>测试 在内部处理点击测试关键字 当我使用html道具时,它只需要一个html字符串,我想是之类的,但是有没有办法在react中实现呢 如果我使用我应该在哪里定义这个函数something()?我想此时我将无法访问react中定义的函数,对吗?那么我应该怎么做呢?onClick是一个React属性,因

我是否可以使用这样的东西:

<span onClick={(e) => console.log(e)}>Testing</span>
console.log(e)}>测试
在内部处理点击
测试
关键字

当我使用html道具时,它只需要一个html字符串,我想是
之类的,但是有没有办法在
react
中实现呢


如果我使用
我应该在哪里定义这个函数
something()
?我想此时我将无法访问react中定义的函数,对吗?那么我应该怎么做呢?

onClick
是一个React属性,因此
React contenteditable
不知道如何处理它-因为
html
需要纯html

实现您想要的目标的一种简单方法是:

  • 创建一个
    onClickContentEditable
    函数,它是否为
    ContentEditable
  • innerRef
    添加到
    ContentEditable
  • onClickContentEditable
    中,单击的元素是
    ContentEditable
    什么都不做-因为我们只想与
    ContentEditable
    的子元素交互
  • 基于所单击元素的DOM属性(
    标记名
    类名
    …等等),使用它很有趣!:) 在
    onClickContentEditable
    中,您可以检查单击元素的DOM属性并采取相应的操作。 您可以创建一个类来标记要单击的元素 您可以测试这个实现-沙箱是从复杂的
    react contenteditable
    示例派生出来的。我将交互记录在控制台中


    希望有帮助

    我认为您需要使用危险的SetinenerHtmlas作为
    ContentEditable
    的道具来做些什么?您的意思是要将您在ContentEditable中编写的文本视为React?或者contenteditable本身的某些元素?我想在
    contenteditable
    中的部分文本中添加一个单击侦听器,例如,如果contenteditable html是
    我的名字是Ali
    ,我如何将
    onClick
    添加到此范围?