function fnCopy() { var _s=document.getElementById('oSource').innerText; window.clipboardData.setData("Text",_s); }firefox 下无效
<script language="javascript" type="text/javascript"> var s = 0; function cit() { var newtb = tb1.cloneNode(true); newtb.setAttribute("id","id"+s); newtb.onclick = function () { cit();} document.body.appendChild(newtb); s++; }</script> </HEAD><BODY> <TABLE id="tb1" onclick="cit();" border="1" width="20%"> <TR> <TD>asdfasdfasdf</TD> <TD>asdfasdfasdfasdf</TD> </TR> </TABLE> </BODY> </HTML>
To fosjos, yorkane: 你们的方法把表格的属性去除了,和我直接把<TABLE></TABLE>去除后复制的效果差不多,不符合要求.To lantersen: 要把表格复制到剪贴板,不是追加到页面上.
这是一个妥协办法,注意标志字符串“Marks”,"EndMarks".不要和其他的字符串重复,你可以自己命名偏僻一点的词。字符串前后除了回车不要有其他的字符。 测试通过<SCRIPT> function selectInPage(str,endstr) { var tb=document.getElementById("oSource").innerText; var len1=str.length+1; var len2=tb.length-len1-endstr.length; txt=document.body.createTextRange(); if(txt.findText(str)) { txt.moveStart("character", len1); txt.moveEnd("character",len2); txt.select(); } } </SCRIPT> <BODY> <input type="button" name="Button" value="复制到我的剪贴板" onClick="selectInPage('Marks','EndMarks')"> <DIV ID="oSource" style="height:300px;" > Marks <table border="1"> <tr> <td>asfasf</td> <td>dfhdfh</td> </tr> <tr> <td>asfasf</td> <td>dfhdfh</td> </tr> </table> EndMarks </DIV>fdsafdasfas fasdfdas这些文字都不会被选中
function fnCopy() { var str=""; var table=document.getElementById("oSource").children[0]; var rows=table.rows; for(var i=0;i<rows.length;i++){ var cells=rows[i].cells; for(var j=0;j<cells.length;j++) str+=cells[j].innerText+" "; str+="\r\n"; } window.clipboardData.setData("Text",str); }
function fnCopy() {
var _s=document.getElementById('oSource').innerText;
window.clipboardData.setData("Text",_s);
}firefox 下无效
{
var newtb = tb1.cloneNode(true);
newtb.setAttribute("id","id"+s);
newtb.onclick = function () { cit();}
document.body.appendChild(newtb);
s++;
}</script>
</HEAD><BODY>
<TABLE id="tb1" onclick="cit();" border="1" width="20%">
<TR>
<TD>asdfasdfasdf</TD>
<TD>asdfasdfasdfasdf</TD>
</TR>
</TABLE>
</BODY>
</HTML>
你们的方法把表格的属性去除了,和我直接把<TABLE></TABLE>去除后复制的效果差不多,不符合要求.To lantersen:
要把表格复制到剪贴板,不是追加到页面上.
测试通过<SCRIPT>
function selectInPage(str,endstr) {
var tb=document.getElementById("oSource").innerText;
var len1=str.length+1;
var len2=tb.length-len1-endstr.length;
txt=document.body.createTextRange();
if(txt.findText(str))
{
txt.moveStart("character", len1);
txt.moveEnd("character",len2);
txt.select();
}
}
</SCRIPT>
<BODY>
<input type="button" name="Button" value="复制到我的剪贴板"
onClick="selectInPage('Marks','EndMarks')">
<DIV ID="oSource" style="height:300px;" >
Marks
<table border="1">
<tr>
<td>asfasf</td>
<td>dfhdfh</td>
</tr>
<tr>
<td>asfasf</td>
<td>dfhdfh</td>
</tr>
</table>
EndMarks
</DIV>fdsafdasfas
fasdfdas这些文字都不会被选中
var str="";
var table=document.getElementById("oSource").children[0];
var rows=table.rows;
for(var i=0;i<rows.length;i++){
var cells=rows[i].cells;
for(var j=0;j<cells.length;j++)
str+=cells[j].innerText+" ";
str+="\r\n";
}
window.clipboardData.setData("Text",str);
}