我有这个功能
function smth() {
var container = null;
var newContainer = null;
if (window.getSelection) { // all browsers, except IE before version 9
alert("first if");
var selectionRange = window.getSelection();
if (selectionRange.rangeCount > 0) {
var range = selectionRange.getRangeAt(0);
container = range.commonAncestorContainer;
newContainer = container;
}
}
else {
if (document.selection) { // Internet Explorer
alert("second if");
var textRange = document.selection.createRange();
container = textRange.parentElement();
}
}
if (newContainer) {
return newContainer.nodeName;
}
else {
alert("Container object for the selection is not …Run Code Online (Sandbox Code Playgroud) 在我的项目中,有一个用例:用户单击一个按钮,然后将一些数据复制到剪贴板以进行下一步。
复制的数据与单击的按钮相关,并以组件状态存储。
我进行了一些搜索,找到了可能的解决方案,如下所示:
function copyToClipboard(text){
var dummy = document.createElement("input");
document.body.appendChild(dummy);
dummy.setAttribute('value', text);
dummy.select();
document.execCommand("copy");
document.body.removeChild(dummy);
}
Run Code Online (Sandbox Code Playgroud)
在某种程度上,我们需要创建一个虚拟元素,将复制的数据设置为虚拟元素并选择该元素,然后执行该execCommand(copy)方法。
是否可以在不创建虚拟元素的情况下做到这一点?我知道有一些关于剪贴板的react插件,但我只想使用香草javascript。谢谢
我已经被这个问题困扰了一段时间,找不到任何可以帮助我的东西,所以我希望有经验的人可以帮助我解决这个问题。
假设我有这个常量:
const test = "Hello World".
如何在按钮上有 onClick 函数,当我单击它时,它将测试字符串复制到用户剪贴板?