虽然网上实现Ctrl + C的JS代码已经有很多了,但我还是向大家推荐一个比较好的插件zeroclipboard,兼容所有浏览器
下面说实现步骤:
1- 引用文件。下载后会得到两个核心文件ZeroClipboard.js和ZeroClipboard.swf,在项目中引用其中一个。
<script type="text/javascript" src="http://www.cnblogs.com/Scripts/ZeroClipboard/ZeroClipboard.js"></script>
2- 加载ZeroClipboard对象,并实现复制功能。
//这步很重要,设定flash文件引用路径。 ZeroClipboard.setMoviePath('http://www.cnblogs.com/Scripts/ZeroClipboard/ZeroClipboard.swf'); //创建ZeroClipboard对象 clip = new ZeroClipboard.Client(); clip.setHandCursor(true); //加载事件,在mouseOver事件中将需要复制的内容传到flahs文件中保存 clip.addEventListener('mouseOver', function(client) { clip.setText($('#IndInfo').val()); }); //复制成功后弹出对话框 clip.addEventListener('complete', function(client, text) { alert("Copied text to clipboard:\n\n" + text); }); //指定实现复制功能对象 clip.glue('Copy'); //下面是用到的html对象 <%= Html.Hidden("IndInfo", ViewData["IndInfoFormat"].SafeString())%> <input type="button" value="Copy To Clipboard" id="Copy" name="Copy" />
3- 如果是本地调试,基于flash的安全机制,需要做一些设置
http://www.macromedia.com/support/documentation/en/flashplayer/help/settings_manager04a.html
直接在网页上输入flash文件的物理路径就可以了。