Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/joomla/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Jquery HTML复制到剪贴板_Javascript_Jquery_Html - Fatal编程技术网

Javascript Jquery HTML复制到剪贴板

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

在我的代码中,我尝试使用“复制到剪贴板”按钮复制iframe代码,但我对它不满意,因为当我使用按钮复制时,它会复制
,而不是
第二,它不会突出显示文本区域,所以是否有其他方法可以作为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();
        }
    };