javascript - 防止默认粘贴

标签 javascript reactjs dom-events trix

我正在尝试在 React 中构建自定义粘贴事件。我有一个问题,如果我使用 React 事件,event.preventDefault() 会在默认操作已经发生后运行。

代码如下:

render() {
return (
  <div
  className='compositionText'
  onPasteCapture={this.handlePaste}>
  </div>
);
}

我已经成功地对 DOM 事件监听器做了同样的事情:

componentDidMount() {
this.getDOMNode().addEventListener('paste', this.handlePaste, true);
},

谁能告诉我为什么第一个解决方案不起作用以及我如何以 React 方式实现它?

更新:我想补充一点,我正在那个 div 中使用 Trix 编辑器,如果这有任何改变的话。

最佳答案

看起来这可能是 Trix 编辑器的问题,因为我能够在这里获得 onPasteCapture 的工作版本,https://jsfiddle.net/Pyloid/69z2wepo/25126/

var Hello = React.createClass({
    handlePaste: function(e) {
        e.preventDefault();
      console.log(e);
    },

        render: function() {
        return <input type="text" onPasteCapture={this.handlePaste} />;
    }
});

ReactDOM.render(
    <Hello name="World" />,
  document.getElementById('container')
);

打开控制面板可以看到注销的抓包内容。

关于javascript - 防止默认粘贴,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34444745/

相关文章:

javascript - semantic-ui-react <Responsive> 不适用于 <Table.Cell>

javascript - 在 NodeJS 中使用 then 查询多个数据库调用

javascript - 如何在 AngularJS 中发送文本输入的 JSON 整数?

javascript - 给定一个整数数组 ‘num’ 返回该数组加 1

javascript - 单击按钮时,重新加载页面而不是调用函数

javascript - 鼠标悬停 mouseout JavaScript 不工作

javascript - Response.Redirect 和 OnBeforeUnload 可以很好地协同工作吗?

javascript - Jquery 选择器循环

css - 如何显示行的交替红色和绿色?

javascript - 将 React 计时器重置为初始常量值