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
- antd/fusion表格增加圈選複製功能
- 實現前端點選按鈕自動複製剪貼簿功能前端
- mui 點選長按複製文字UI
- JS 點選複製當前URL地址JS
- js 實現點選複製內容JS
- js複製功能JS
- JavaScript 點選複製選中文字程式碼例項JavaScript
- 小程式複製功能
- js複製黏貼功能JS
- 前端實現複製功能前端
- 微信小程式複製功能微信小程式
- 【BASIS】HANA SR複製選項
- js 呼叫瀏覽器複製功能JS瀏覽器
- JavaScript實現複製和貼上功能JavaScript
- 5-5配置Mysql複製 基於日誌點的複製MySql
- Vue中配合clipboard.js實現點選按鈕複製內容VueJS
- 淺複製和深複製的概念與值複製和指標複製(引用複製)有關 淺複製 “指標複製 深複製 值複製指標
- Redis主從複製那點事Redis
- 設計模式-原型模式(Prototype)【重點:淺複製與深複製】設計模式原型
- Vue中結合clipboard實現複製功能Vue
- 在vSphere中實現複製貼上功能
- MySQL主從複製配置心跳功能介紹MySql
- 直播軟體搭建,vue 複製剪下板功能Vue
- 本地圖文直接複製到HTML編輯器中地圖HTML
- Java引用複製、淺複製、深複製Java
- JS物件複製:深複製和淺複製JS物件
- 複製和引用複製
- poi操作excel,複製sheet,複製行,複製單元格,複製styleExcel
- alacritty 新增左鍵選擇,右鍵複製
- html點選<a>元素後顏色的變換HTML
- Android處理按鈕重複點選Android
- 淺複製與深複製
- 只知道用Ctrl+C複製?OUT啦,試試這個功能,複製只需1秒鐘!
- JS實現滑鼠點選愛心&繪製多邊形&每日一言功能JS
- MySQL 8 複製(三)——延遲複製與部分複製MySql
- 【Mongo】單節點升級為複製集再升級為分片加複製集Go