本文将结合实例讲解如何使用一款基于jQuery的插件——Zclip来实现复制内容到剪贴板的功能。其实IE上有个方法可以实现点击复制,但是由于只是IE独有,所以我们不提倡。而Zclip是利用一个隐藏的flash文件来完成复制的功能,关键是它兼容当前各主流浏览器。
WEB开发中,要让用户复制页面中的一段代码、URL地址等信息,为了避免用户拖动鼠标再进行右键复制操作而可能出现的差错,我们可以直接在页面中放置一个复制按钮,只需要轻轻一点这个复制按钮,内容将会被复制,然后用户可以粘贴到想粘贴的地方。
HTML
首先需要在页面中载入jquery库和zclip插件,这两个文件已经打好包,欢迎点击下载。
?
1 2<script type=
"text/javascript"
src=
"js/jquery.js"
></script>
<script type=
"text/javascript"
src=
"js/jquery.zclip.min.js"
></script>
接着我们在页面中的body部分加入如下代码:
?
1 2<
textarea
id
=
"mytext"
>请输入内容</
textarea
><
br
/>
<
a
href
=
"#"
id
=
"copy_input"
class
=
"copy"
>复制内容</
a
>
页面中放置了一个输入框textarea,当然也可以是其他html元素,然后就是一个复制按钮,也可以是链接文本形式。
Javascript
当点击“复制内容”时,调用zclip插件,并提示复制成功,请看代码:
?
1 2 3 4 5 6 7 8 9 10 11$(
function
(){
$(
'#copy_input'
).zclip({
path:
'js/ZeroClipboard.swf'
,
copy:
function
(){
//复制内容
return
$(
'#mytext'
).val();
},
afterCopy:
function
(){
//复制成功
$(
"<span id='msg'/>"
).insertAfter($(
'#copy_input'
)).text(
'复制成功'
);
}
});
});
值得注意的是如果是复制的内容来自输入框input、textarea等,copy对象使用:
?
1 2 3copy:
function
(){
return
$(
'#mytext'
).val();
}
如果是复制的内容来自页面元素div、p之类的,copy对象使用:
copy: $('#mytext').text();
这样就完成了复制内容到剪贴板的功能。