选择文本并突出显示选择或获取选择值(react)
IT技术
javascript
html
reactjs
electron
2021-03-28 01:04:23
6个回答
使用onMouseUp
和onDoubleClick
事件来检测调用方法,这将使用 JavaScript 选择 API 确定选择。
使用window.getSelection()
得到的选择对象。
要获取选定的文本,请使用window.getSelection.toString()
.
要获取用于渲染弹出菜单的选定文本区域的坐标,请使用selection.getRangeAt(0).getBoundingClientRect()
.
作为示例实现,请查看react-highlight库。
我认为这是正确的方法...
document.onmouseup = () => {
console.log(window.getSelection().toString());
};
这是 React 中使用函数式组件的示例:
const Post = () => {
const handleMouseUp() {
console.log(`Selected text: ${window.getSelection().toString()}`);
}
return (
<div onMouseUp={handleMouseUp}>Text</div>
);
}
正如 Lyubomir 指出的那样 window.getSelection() API 可以解决问题!
第 1 步: - 最初每次输入内容时,鼠标都会捕获
<textarea type="text"
className="contentarea__form__input"
onMouseUpCapture={this.selectedText}>
</textarea>
第 2 步:为了确保它只捕获您选择的文本,我使用了 if-else 条件
selectedText = () => {
window.getSelection().toString() ? console.log(window.getSelection().toString()) : null;
}
其它你可能感兴趣的问题