Javascript Jquery HTML复制到剪贴板
在我的代码中,我尝试使用“复制到剪贴板”按钮复制iframe代码,但我对它不满意,因为当我使用按钮复制时,它会复制Javascript Jquery HTML复制到剪贴板,javascript,jquery,html,Javascript,Jquery,Html,在我的代码中,我尝试使用“复制到剪贴板”按钮复制iframe代码,但我对它不满意,因为当我使用按钮复制时,它会复制和,而不是第二,它不会突出显示文本区域,所以是否有其他方法可以作为HTML代码复制 这是我的 这是一个复制的文本示例 <iframe src='http://localhost/secvideo/cms/watch?v=30Rt9r' frameborder='0' style='overflow: hidden; position: absolute;' height
和
,而不是
第二,它不会突出显示文本区域,所以是否有其他方法可以作为HTML代码复制
这是我的
这是一个复制的文本示例
<iframe src='http://localhost/secvideo/cms/watch?v=30Rt9r' frameborder='0' style='overflow: hidden; position: absolute;' height='100%' width='100%'></iframe>
这是我的JS
function copyToClipboard(elementId) {
var aux = document.createElement("input");
// Assign it the value of the specified element
aux.setAttribute("value", document.getElementById(elementId).innerHTML);
document.body.appendChild(aux);
aux.select();
document.execCommand("copy");
document.body.removeChild(aux);
alert("Copied!");
}
我认为您在这里创建了一个不必要的元素。您已经有一个包含iframe内容的文本区域 您只需选择文本区域并执行document.execCommand(“复制”) 将脚本修改为
window.copyToClipboard = function(elementId) {
// Create a "hidden" input
var aux = document.getElementById(elementId);
// Highlight its content
aux.select();
// Copy the highlighted text
document.execCommand("copy");
alert("Copied!");
}
JSFIDLE
var copyToClipboard=函数(文本){
var$txt=$('');
$txt.val(文本)
.css({宽度:“1px”,高度:“1px”})
.附于(“主体”);
$txt.select();
if(document.execCommand('copy')){
$txt.remove();
}
};
您的JS FIDLE没有按照您描述的那样工作-根本不复制。当您将函数copyToClipboard(elementId)更改为window.copyToClipboard=函数(elementId)时,它会按预期工作@ajc2000感谢您使用的JSFIDLE可能的重复项
var copyToClipboard = function (text) {
var $txt = $('<textarea />');
$txt.val(text)
.css({ width: "1px", height: "1px" })
.appendTo('body');
$txt.select();
if (document.execCommand('copy')) {
$txt.remove();
}
};