html 點選複製功能
因為專案裡要點選複製視訊的URL,在這裡記錄下,方便以後複用。
在網上查了下資料,主要有 js+flash 的實現和 html5 的實現,前者使用 flash 對瀏覽器的相容性較好,後者支援已經支援 HTML5 的瀏覽器。
最近又發現一個不用 flash 和框架的外掛 clipboard.js
(github上的star挺多的,有空再看下) clipboard.js官網
HTML5 實現方式
示例是複製 span 標籤中 value 屬性中的值。
css
/* 複製成功後提示樣式*/
.copy-tips {
position: fixed;
z-index: 999;
bottom: 50%;
left: 50%;
margin: 0 0 -20px -80px;
background-color: rgba(0, 0, 0, 0.2);
filter: progid:DXImageTransform.Microsoft.Gradient(startColorstr=#30000000, endColorstr=#30000000);
padding: 6px;
}
.copy-tips-wrap {
padding: 10px 20px;
text-align: center;
border: 1px solid #F4D9A6;
background-color: #FFFDEE;
font-size: 14px;
}
html
jsp頁面中的內容
<span value="${item.videoUrl}" class="copyVideo" style="color:#10b7ff;cursor:pointer;" onclick="copyVideoUrl(event)">複製URL</span>
js
function copyVideoUrl(event){
var value = $(event.target).closest("span").attr('value');
var success;
var $temp = $("<input>");
$("body").append($temp);
$temp.val(value).select();
try{
success = document.execCommand("copy");
}catch (e){
succeed = false;
}
if(success){
var $copySuccess = $("<div class='copy-tips'><div class='copy-tips-wrap'>複製成功</div></div>");
$("body").find(".copy-tips").remove().end().append($copySuccess);
$(".copy-tips").fadeOut(3000);
}
$temp.remove();
}
點選按鈕複製示例見
Click button copy to clipboard using jQuery
js + flash 實現方式
有獨立的 js 庫 Zero Clipboard 可以實現複製功能,這裡使用封裝後的 jQuery ZeroClipboard,jQuery-zclip 外掛需要 Flash 的支援,程式碼要放到伺服器上執行才有效果,本地是不起作用的。jquery-zclip外掛
HTML、CSS和上面一樣,這裡只寫js。注意:程式碼中要引入 jquery.zclip.js
,jquery.min.js
, js程式碼中還要指明引入 ZeroClipboard.swf
檔案的位置。
js
$(document).ready(function() {
$(".copyVideo").zclip({
path: "${context}/js/ZeroClipboard.swf",
copy: function () {
return $(this).attr("value");
},
beforeCopy: function () {/* 按住滑鼠時的操作 */
$(this).css("color", "orange");
},
afterCopy: function () {/* 複製成功後的操作 */
var $copysuc = $("<div class='copy-tips'><div class='copy-tips-wrap'>複製成功</div></div>");
$("body").find(".copy-tips").remove().end().append($copysuc);
$(".copy-tips").fadeOut(2000);
}
});
});
參考資料
相關文章
- JS如何實現點選複製功能,JS點選複製文字JS
- 點選按鈕自動複製剪貼簿功能
- js點選複製內容JS
- 實現前端點選按鈕自動複製剪貼簿功能前端
- mui 點選長按複製文字UI
- js 實現點選複製內容JS
- JS 點選複製當前URL地址JS
- js複製功能JS
- JavaScript 點選複製選中文字程式碼例項JavaScript
- 小程式複製功能
- 點選按鈕複製連結程式碼例項
- 微信小程式複製功能微信小程式
- 前端實現複製功能前端
- javascript如何遮蔽複製功能JavaScript
- js實現複製功能JS
- js實現的點選複製選中文字程式碼例項JS
- 相容所有瀏覽器的點選複製黏貼效果瀏覽器
- 點選按鈕複製文字框文字程式碼例項
- Java NIO複製檔案功能Java
- 相容所有瀏覽器的點選複製文字內容效果瀏覽器
- JS實現點選按鈕複製當前介面的URLJS
- js 呼叫瀏覽器複製功能JS瀏覽器
- 點選按鈕拷貝複製元素內文字程式碼例項
- html-製作導航選單HTML
- 點選回車實現按鈕點選功能
- 基於 HTML5 Canvas 的屬性值點選出現多選項的製作HTMLCanvas
- JavaScript實現複製和貼上功能JavaScript
- UILabel實現複製貼上功能UI
- mysql5.5.9半同步複製功能部署MySql
- ASM FTP 功能複製 ASM資料庫ASMFTP資料庫
- 利用JS實現複製/貼上功能JS
- 5-5配置Mysql複製 基於日誌點的複製MySql
- Vue中配合clipboard.js實現點選按鈕複製內容VueJS
- 淺複製和深複製的概念與值複製和指標複製(引用複製)有關 淺複製 “指標複製 深複製 值複製指標
- Redis主從複製那點事Redis
- iOS 複製知識點總結iOS
- 設計模式-原型模式(Prototype)【重點:淺複製與深複製】設計模式原型
- JavaScript點選兩點繪製直線JavaScript