相关文章推荐
霸气的骆驼  ·  vue element admin ...·  1 周前    · 
老实的玉米  ·  Java ...·  5 天前    · 
害羞的足球  ·  socket ...·  7 月前    · 
另类的墨镜  ·  macos - Date::Manip ...·  1 年前    · 

假设您的所有样式都是内联的,您需要获取元素的html而不是文本.就像是:

function copyToClipboard(element) {

var $temp = $("");

$("body").append($temp);

$temp.val($(element).html()).select(); //Note the use of html() rather than text()

document.execCommand("copy");

$temp.remove();

根据评论进行编辑:

要将格式复制到Gmail邮件正文或Word文档之类的内容,您必须实际选择该元素作为范围.当您将html内容插入textarea时,实际上是在复制原始文本.你想做这样的事情:

function copyToClipboard(element) { //Note, element should be a node rather than a jQuery instance.

var selection = window.getSelection(), //Get the window selection

selectData = document.createRange(); //Create a range

selection.removeAllRanges(); //Clear any currently selected text.

selectData.selectNodeContents(element); //Add the desired element to the range you want to select.

selection.addRange(selectData); //Highlight the element (this is the same as dragging your cursor over an element)

var copyResult = document.execCommand("copy"); //Execute the copy.

if(copyResult) //was the copy successful?

selection.removeAllRanges(); //Clear the highlight.

alert("Your browser does not support clipboard commands, press ctrl+c");

假设您的所有样式都是内联的,您需要获取元素的html而不是文本.就像是:function copyToClipboard(element) {var $temp = $("");$("body").append($temp);$temp.val($(element).html()).select(); //Note the use of html() rather than text()docum...