ReactJS onPaste事件:如何判断用户是否选择了textarea'现有的内容
ReactJS onPaste event: how to determine if user has selected some of textarea's existing content
我试图在reactjs中重新创建本地textarea行为。具体来说,我希望用户能够选择/突出显示一些文本区域的现有文本,然后将新文本粘贴到所选内容上。
我当前的反应onPaste事件处理程序:
onPaste(e) {
let existingText = e.target.value;
e.clipboardData.items[0].getAsString((str) => {
this.setState({
fieldValue: existingText + str
});
});
}
将把剪贴板内容附加到现有的textarea内容上,但是如果用户选择了某些textarea,那么该选择不会被覆盖。
是否有一种方法来确定是否一些文本区内容被选中/突出显示?
谢谢。
我明白了:)
你可以使用本地JS的selectionStart和selectionEnd…
onPaste(e) {
let existingText = e.target.value,
selectStart = e.target.selectionStart,
selectEnd = e.target.selectionEnd;
e.clipboardData.items[0].getAsString((str) => {
let newText = newText = existingText.substring(0, selectStart) + str + existingText.substring(selectEnd, existingText.length);
this.setState({
fieldValue: newText
});
});
}
相关文章:
- 下拉选择可自动更改第二个下拉选择
- 如何使用jQuery选择下拉列表的值
- jquery点击函数select&取消选择
- Windows8应用程序(html&Javascript):从图片库(除了文件选择器)显示图像的另一种方式
- 按照选项卡索引的顺序循环一个jQuery选择
- 在动态创建的元素上获取对特定选择器的引用
- AngularJS-在JSON选择器中使用变量名
- 每当您在选择器内移动鼠标时,悬停功能就会重复
- 获取选择框的状态
- d3基于用户选择动态更新节点
- 提交后保留下拉选择的值
- JQuery对动态创建的对象进行选择
- 无法在Ionic select中预先选择最后一个选项
- 使用CSS或js,使用动态选择器选择任意li的下一个元素
- 获取带有textarea的复选框,并在单个jquery中进行选择
- JavaScript:使用textarea后滚动到选择.setSelectionRange在Chrome
- Javascript -从textarea中只选择前5行非空行
- 以编程方式选择与textarea元素中的字符串匹配的文本(就像用鼠标一样)
- ReactJS onPaste事件:如何判断用户是否选择了textarea'现有的内容
- 在textarea onload中选择文本