【JavaScript】获取到选中的文字、复制选中的文字

前言:两个小技巧

 

一、输出选中的文字内容

<body>
<div id="content" style="width:300px; margin:50px;">
	确认过眼神 我遇上对的人<br />
	我策马出征 马蹄声如泪奔<br />
	青石板上的月光照进这山城<br />
	我一路的跟 你轮回声 我对你用情极深<br />
	洛阳城旁的老树根<br />
	像回忆般延伸你问<br />
	经过是谁的心跳声<br />
	我拿醇酒一坛饮恨<br />
	你那千年眼神是我<br />
	醉醉坠入赤壁的 伤痕<br />
	确认过眼神 我遇上对的人<br />
</div>
<script>

	var oContent =document.getElementById('content');
	oContent.onmouseup = function(){
		alert(selectText());
	};  
	
	function selectText(){
		if(document.Selection){       
			//ie浏览器
			return document.selection.createRange().text;     	 
		}else{    
			//标准浏览器
			return window.getSelection().toString();	 
		}	 
	}
</script>
</body>

 

二、复制选中的文字内容

<body>
<div id="content" style="width:300px; margin:50px;">
	确认过眼神 我遇上对的人<br />
	我策马出征 马蹄声如泪奔<br />
	青石板上的月光照进这山城<br />
	我一路的跟 你轮回声 我对你用情极深<br />
	洛阳城旁的老树根<br />
	像回忆般延伸你问<br />
	经过是谁的心跳声<br />
	我拿醇酒一坛饮恨<br />
	你那千年眼神是我<br />
	醉醉坠入赤壁的 伤痕<br />
	确认过眼神 我遇上对的人<br />
</div>
<script>

	var oContent =document.getElementById('content');
	oContent.onmouseup = function(){
		document.execCommand("Copy");	
		alert("复制成功")
	};  
	
</script>

选取文字,抬起鼠标后,就能对选中的文字进行复制到剪切板了,可以在其他地方粘贴。

①小技巧:全选input标签里面的所有文字,并全部复制

<body>
<input id="content" type="text" value="123456789" />
<script>

	var oContent =document.getElementById('content');
	oContent.onfocus = function(){
		oContent.select();
		document.execCommand("Copy");	
		alert("复制成功")
	};  
	
</script>
</body>

 

②兼容性

查看下API,发现对于document.execCommand("Copy");的兼容性并不是很完美,特别是移动端上。

 

③推荐插件clipboard.js

<body>
<div style="">
     <input type="text" id="id_text" value="123456789">
     <button type="button" id="id_copy" data-clipboard-target="#id_text" data-clipboard-action="copy">点击复制</button>
</div>
<script src="https://cdn.bootcss.com/clipboard.js/1.5.15/clipboard.min.js"></script>
<script src="https://cdn.bootcss.com/jquery/2.0.0/jquery.min.js"></script>
<script>	
$(function(){  
     var clipboard = new Clipboard("#id_copy");
     clipboard.on("success",function (element) {//复制成功的回调
            console.log("复制成功,复制内容:" + element.text);
     });
});
</script>

对于大多数移动端浏览器该插件兼容效果都不错,测试了蛮多浏览器,只在UC浏览器上遇到出现无法复制问题。(如果还有其他朋友在其他浏览器遇到问题,麻烦告知)。

  • 4
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值