溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

怎么讓HTML5實現(xiàn)移動端復(fù)制功能

發(fā)布時間:2020-09-28 15:53:17 來源:億速云 閱讀:169 作者:小新 欄目:web開發(fā)

這篇文章主要介紹了怎么讓HTML5實現(xiàn)移動端復(fù)制功能,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

首先遇到這個需求是就各種百度,但是發(fā)現(xiàn)基本都是用js實現(xiàn),而且兼容性還非常不好。

但是在尋覓和嘗試的過程中,發(fā)現(xiàn)只需要css代碼也可以完全實現(xiàn)的,對需要復(fù)制內(nèi)容的標簽加上下面這幾行代碼就可以了。

-webkit-touch-callout: all;
-webkit-user-select: all;
-moz-user-select: all;
-ms-user-select: all;
user-select: all;

其實意思就是不限制用戶對內(nèi)容的操作,不禁用系統(tǒng)默認菜單,長按會顯示系統(tǒng)自帶的復(fù)制功能進行復(fù)制。

使用clipboard.js實現(xiàn)移動端粘貼復(fù)制

clipboard.js是一款很強大的粘貼復(fù)制的插件,但是在移動端使用,會出現(xiàn)兼容性問題。下面是我常使用的一種解決方案。

html

<input id="foo1"  value="http://www.shellad.com/_2SP__22(要復(fù)制的內(nèi)容)" readonly="readonly">
<p class="the_btn_con"><button class="btn" data-clipboard-target="#foo1">復(fù)制</button></p>

js

$(function () {
       var clipboard = new Clipboard('.btn');
       //優(yōu)雅降級:safari 版本號>=10,提示復(fù)制成功;否則提示需在文字選中后,手動選擇“拷貝”進行復(fù)制
       clipboard.on('success', function(e) {
           alert('復(fù)制成功!')
           console.log($(this))
           e.clearSelection();
       });
       clipboard.on('error', function(e) {
           alert('請選擇“拷貝”進行復(fù)制!')
       });
   })

注意我在保存要復(fù)制的內(nèi)容時使用的是input控件,而不是p或者span。因為,在測試時只有input的兼容性最好,不會出現(xiàn)問題,能夠保證正常復(fù)制。同時,該插件也不支持safari 版本號<10,所以要做好提示。

感謝你能夠認真閱讀完這篇文章,希望小編分享怎么讓HTML5實現(xiàn)移動端復(fù)制功能內(nèi)容對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,遇到問題就找億速云,詳細的解決方法等著你來學(xué)習(xí)!

向AI問一下細節(jié)

免責聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI