日期:2014-05-16  浏览次数:20489 次

js实现ctrl+c功能
<a href="#" onclick=javascript:clipboardData.setData("text","www.baidu.com")>复制</a>

单击当前链接文本表示复制了内容到本地剪贴板,只需在ctrl+v就能显示出定义的内容




此外,我们还会遇到这样的一些情况:当我们在某网站复制了一段内容之后,在粘贴下来时,发现不自觉的多了一行信息,该信息即是由内容复制到剪贴板同时增加的一行信息。

也就是说我们写入到剪贴板中的值除了拷贝的选择内容外,还有自己定义的值,那么如何获得“拷贝的选择内容”,这就需要使用到 document.selection.createRange() 方法,其中该方法配合 execCommand,在 HTML 编辑器中很有用,比如:文字加粗、斜体、复制、粘贴、创建超链接等。

<textarea cols=40 rows=10>
www.cnbruce.com 布鲁斯狼
www.dw8.cn 缔吧
www.i0514.cn 小艾生活网
</textarea> <br>
<input type=button value="先选择文本框文本再单击本按钮" onclick=alert(document.selection.createRange().text)>
</form>

所以,应用了document.selection.createRange().text就能重新定义剪贴板中的值了。


选择复制本段文本,然后粘贴到文本编辑器中查看是不是多了一些附加信息。
<script type="text/javascript">
document.body.oncopy=function(){
event.returnValue=false;
var t=document.selection.createRange().text;
var s="有关单击按钮将内容复制到剪贴板的原文内容地址: "+location.href;
clipboardData.setData('Text',t+'\r\n\r\n'+s+'\r\n');
}
</script>