jQuery复制到剪贴板4选项

jquery-clipboard-copy

好的,所以今天我尝试使用jQuery(和普通的JavaScript)来自动化复制到剪贴板的过程,众所周知,通过右键单击>复制或按CTRL + C可以轻松完成复制过程。 通常复制到剪贴板的工作原理是,您只需调用exec copy命令即可将当前选择复制到剪贴板。 但是,似乎唯一支持此功能的浏览器是IE。 现在,我们有了一种解决方法,可以使用Flash SWF文件运行并将选择内容以这种方式保存到剪贴板。 您可以使用jQuery插件,据我所知,您有以下四个选项。

注意:我的建议是使用3.复制文本的解决方法,因为尝试使其他插件正常工作可能很痛苦。

1. zClip

zClip仅适用于超链接。

function copy (str)
{
    //for IE ONLY!
    window.clipboardData.setData('Text',str);
}

资源

2.零剪贴板

一个漂亮的剪贴板插件: 下载页面

function init() {
	clip = new ZeroClipboard.Client();
	clip.setHandCursor( true );
	
	clip.addEventListener('load', my_load);
	clip.addEventListener('mouseOver', my_mouse_over);
	clip.addEventListener('complete', my_complete);
	
	clip.glue( 'd_clip_button' );
}

资源

3.复制文本解决方法

JQUERY代码

$(document).ready(function(){
	//store nodepath value to clipboard	(copy to top of page)
	$('li').live('click', function(){
		//console.log($('#pathtonode').html()+ " copied to window");
		var path = $('#pathtonode').html();
		path = path.replace(/ > /g,".");
		//console.log(path);
		addtoppath(path);
	});
	//initially hide copy window
	$('#toppathwrap').hide();

	function addtoppath(path) {
		//console.log(path);
		$('#copypath').val(path);
		$('#toppathwrap').show();
		$('#copypath').focus();
		$('#copypath').select();
	}	
});

对于动态DOM元素:

$('#copypath', 'body')
	.find('a')
		.livequery('click', function() {
			$(this)
				.blur();
			//console.log('copied to copy window');
			var nodetext = $('#id-of-element-to-copy').html();
			$('#copypath input').focus();
			$('#copypath input').select();
			return false;
		});

HTML代码

  
  
</div></pre>

CSS CODE

#toppathwrap { position:fixed; top:0px; right:0px; background-color:#F2F1E8; padding:5px; display:none; }

Source

4. David Walsh Tutorial

//javascript copy function
		function copy(inElement) {
		  if (inElement.createTextRange) {
			var range = inElement.createTextRange();
			if (range && BodyLoaded==1)
			 range.execCommand('Copy');
		  } else {
			var flashcopier = 'flashcopier';
			if(!document.getElementById(flashcopier)) {
			  var divholder = document.createElement('div');
			  divholder.id = flashcopier;
			  document.body.appendChild(divholder);
			}
			document.getElementById(flashcopier).innerHTML = '';
			var divinfo = '';
			document.getElementById(flashcopier).innerHTML = divinfo;
		  }
		}

Source

From: https://www.sitepoint.com/jquery-copy-clipboard-4-options/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值