我希望自动选择一个跨度元素中的一些文本,以便用户可以轻松地复制它。
我试过使用。选择()
但是,这似乎只适用于
我的文本在弹出窗口中呈现,因此我希望为用户显示所选内容。
以下是我尝试过的:
import React from "react";
const PropTypes = React.PropTypes;
class CopyText extends React.Component {
constructor(props) {
super(props);
this.handleRef = this.handleRef.bind(this);
}
componentDidUpdate() {
this.copyText.select();
}
handleRef(component) {
this.copyText = component;
}
render() {
return (
<span ref={this.handleRef}>
{this.props.text}
</span>
);
}
}
CopyText.propTypes = {
text: PropTypes.string
};
export default CopyText;
有人能帮我创建一个跨元素的自定义自动选择文本功能吗?非常感谢你的建议。
你可以试试这个
<span ref={textAreaRef}>your text</span>
<Button type="button" onClick={() => copyEmail()}>copy</Button>
复制功能应该是这样的:
const copyEmail = () => {
let currentNode = textAreaRef.current;
if (document.body.createTextRange) {
const range = document.body.createTextRange();
range.moveToElementText(currentNode);
range.select();
document.execCommand('copy');
range.remove();
} else if (window.getSelection) {
const selection = window.getSelection();
const range = document.createRange();
range.selectNodeContents(currentNode);
selection.removeAllRanges();
selection.addRange(range);
document.execCommand('copy');
selection.removeAllRanges();
} else {
alert("Could not select text, Unsupported browser");
}
}
我已经使用useRef创建了一个ref
const textAreaRef = useRef(null);
下拉列表的超文本标记语言代码 通过单击spans下拉列表将显示。下拉值在li内 如何选择li中提到的选项。我们只有span ID。
问题内容: 在这里,我尝试使用Selenium脚本从下拉列表中选择一个值,但 在控制台中却收到此错误,例如 “线程“主”中的异常” org.openqa.selenium.support.ui.UnexpectedTagNameException:元素应 为“选择”但为“跨度”。 下拉菜单中有多个值,我需要在其中选择一个值。 问题答案: @MosheSlavin的分析和回答是正确的方向。 这个错误
在ListView中,我可以按下< kbd>Ctrl Shift并单击项目进行选择。但是,我想拖动鼠标来选择项目(如DataGridView)。我尝试了下面的代码,我遇到了这样的问题: 我的代码:
是否有可能设置IntelliJ IDEA,使我可以使用光标键进行列选择,类似于我在Notepad++、Visual Studio或FlashDeveloper中的操作。 例如,当我键入代码时,我几乎总是只通过使用键盘来完成导航。在前面提到的IDE中,我可以通过按住shift+alt,然后敲击将光标扩展到上面的行来快速选择代码块。然后,我可以按住Shift+Alt+Ctrl并点击或以快速跳过单词并选
我想选择<代码> 然后我想迭代元素并获取它们的文本。但未选择 div。如果我只尝试使用div作为css选择器,则显示正确的文本信息,但是还有另一个不合适的div文本,因此我必须使用类名。 我哪里错了?
我在写这个代码 当我启动我的应用程序时,它会自动进入第一个底部(我有三个底部)。我想在导航视图中将其更改为第二个底部。请帮帮我