WEB開發中,要讓用戶復制頁面中的一段代碼、URL地址等信息,為了避免用戶拖動鼠標再進行右鍵復制操作而可能出現的差錯,我們可以直接在頁面中放置一個復制按鈕,只需要輕輕一點這個復制按鈕,內容將會被復制,然后用戶可以粘貼到想粘貼的地方。
本文將結合實例講解如何使用一款基于jQuery的插件——Zclip來實現復制內容到剪貼板的功能。其實IE上有個方法可以實現點擊復制,但是由于只是IE獨有,所以我們不提倡。而Zclip是利用一個隱藏的flash文件來完成復制的功能,關鍵是它兼容當前各主流瀏覽器。
首先需要在頁面中載入jquery庫和zclip插件,這兩個文件已經打好包,歡迎點擊下載。
- <script type="text/javascript" src="js/jquery.js"></script>
- <script type="text/javascript" src="js/jquery.zclip.min.js"></script>
接著我們在頁面中的body部分加入如下代碼:
- <textarea id="mytext">請輸入內容</textarea><br/>
- <a href="#" id="copy_input" class="copy">復制內容</a>
頁面中放置了一個輸入框textarea,當然也可以是其他html元素,然后就是一個復制按鈕,也可以是鏈接文本形式。
Javascript
當點擊“復制內容”時,調用zclip插件,并提示復制成功,請看代碼:
- $(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對象使用:
- copy: function(){
- return $('#mytext').val();
- }
如果是復制的內容來自頁面元素div、p之類的,copy對象使用:
- copy: $('#mytext').text();
這樣就完成了復制內容到剪貼板的功能。
path:swf調用路徑,必須,如js/ZeroClipboard.swf,ZeroClipboard.swf文件已存在下載包中。
copy:復制的內容,必須,任意字符串,也可以是回調函數返回的內容
beforeCopy:復制內容前回調函數,可選
afterCopy:復制內容后回調函數,可選
新聞熱點
疑難解答