欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

JS復(fù)制對應(yīng)id的內(nèi)容到粘貼板(Ctrl+C效果)

 更新時(shí)間:2017年01月23日 14:53:16   作者:鍋?zhàn)硬┛? 
這篇文章主要給大家介紹了利用JS實(shí)現(xiàn)復(fù)制指定對應(yīng)id的內(nèi)容到粘貼板(Ctrl+C效果),文中給出了詳細(xì)的介紹和示例代碼,有需要的朋友可以參考借鑒,下面來一起看看吧。

前言

最近在做一個(gè)按鈕,實(shí)現(xiàn)的效果是當(dāng)點(diǎn)擊后復(fù)制url到黏貼板,但不是當(dāng)前頁面url,而是對應(yīng)一個(gè)元素的url,且一個(gè)頁面會有多個(gè)url。一開始找到一個(gè)方法,但是竟然只兼容IE瀏覽器,神奇了,竟然有只兼容IE的東西。后來發(fā)現(xiàn)一個(gè)zeroclipboard.js這個(gè)插件,但是怎么也搞不出那個(gè)效果,有點(diǎn)麻煩。

最后翻到了一個(gè)js封裝好的方法,有效!

想要實(shí)現(xiàn)的一個(gè)效果是,下面html代碼:

<tr>
 <td>
 <a id="copy_{$key}" onclick="getUrl('{$key}')">復(fù)制文件鏈接</a>
 <input id="file_{$key}" value="{$file.file_url}" style="margin-left: -9999px"/>
 </td>
</tr> 

點(diǎn)擊復(fù)制文件鏈接這個(gè)按鈕,復(fù)制input框里的value值,是傳進(jìn)去的一個(gè)url;首先點(diǎn)擊a標(biāo)簽會觸發(fā)getUrl這個(gè)函數(shù);傳進(jìn)去id用于找到對應(yīng)的input然后取值(因?yàn)楸闅v了多個(gè)td,有許多個(gè)input框一一對應(yīng)去?。?。

下面js代碼:

<pre><script type="application/javascript">
 
 function getUrl(id) {
  if (copyToClipboard(document.getElementById("file_"+id))){
   alert("成功復(fù)制到黏貼板!");
  }else{
   alert("復(fù)制到黏貼板失??!");
  }
 }
 
 function copyToClipboard(elem) {
  // create hidden text element, if it doesn't already exist
  var targetId = "_hiddenCopyText_";
  var isInput = elem.tagName === "INPUT" || elem.tagName === "TEXTAREA";
  var origSelectionStart, origSelectionEnd;
  if (isInput) {
   // can just use the original source element for the selection and copy
   target = elem;
   origSelectionStart = elem.selectionStart;
   origSelectionEnd = elem.selectionEnd;
  } else {
   // must use a temporary form element for the selection and copy
   target = document.getElementById(targetId);
   if (!target) {
    var target = document.createElement("textarea");
    target.style.position = "absolute";
    target.style.left = "-9999px";
    target.style.top = "0";
    target.id = targetId;
    document.body.appendChild(target);
   }
   target.textContent = elem.textContent;
  }
  // select the content
  var currentFocus = document.activeElement;
  target.focus();
  target.setSelectionRange(0, target.value.length);
 
  // copy the selection
  var succeed;
  try {
   succeed = document.execCommand("copy");
  } catch(e) {
   succeed = false;
  }
  // restore original focus
  if (currentFocus && typeof currentFocus.focus === "function") {
   currentFocus.focus();
  }
 
  if (isInput) {
   // restore prior selection
   elem.setSelectionRange(origSelectionStart, origSelectionEnd);
  } else {
   // clear temporary content
   target.textContent = "";
  }
  return succeed;
 }
</script></pre>

getUrl中調(diào)用了封裝好的copyToClipboard方法實(shí)現(xiàn)了功能。有一點(diǎn)的是html中input的樣式用style="margin-left: -9999px"進(jìn)行隱藏,因?yàn)椴恢罏槭裁从胻ype="hiden"或者display="none"去隱藏都只會獲取源代碼而不是動態(tài)的url遍歷出來的值。

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學(xué)習(xí)或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。

相關(guān)文章

  • javascript設(shè)計(jì)模式之迭代器模式

    javascript設(shè)計(jì)模式之迭代器模式

    這篇文章主要為大家詳細(xì)介紹了javascript設(shè)計(jì)模式之迭代器模式,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2020-01-01
  • JS實(shí)現(xiàn)跟隨鼠標(biāo)立體翻轉(zhuǎn)圖片的方法

    JS實(shí)現(xiàn)跟隨鼠標(biāo)立體翻轉(zhuǎn)圖片的方法

    這篇文章主要介紹了JS實(shí)現(xiàn)跟隨鼠標(biāo)立體翻轉(zhuǎn)圖片的方法,涉及javascript操作圖片翻轉(zhuǎn)的相關(guān)技巧,非常具有實(shí)用價(jià)值,需要的朋友可以參考下
    2015-05-05
  • js實(shí)現(xiàn)點(diǎn)小圖看大圖效果的思路及示例代碼

    js實(shí)現(xiàn)點(diǎn)小圖看大圖效果的思路及示例代碼

    點(diǎn)小圖看大圖的效果想必很多的朋友都有見到過吧,下面有個(gè)不錯(cuò)的示例,感興趣的朋友可以參考下
    2013-10-10
  • js實(shí)現(xiàn)旋轉(zhuǎn)木馬效果

    js實(shí)現(xiàn)旋轉(zhuǎn)木馬效果

    本文主要介紹了js實(shí)現(xiàn)旋轉(zhuǎn)木馬效果的實(shí)例。具有很好的參考價(jià)值。下面跟著小編一起來看下吧
    2017-03-03
  • ES6中的類(Class)示例詳解

    ES6中的類(Class)示例詳解

    這篇文章主要給大家介紹了關(guān)于ES6中類(Class)的相關(guān)資料,文中介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • Javascript前端下載后臺傳來的文件流代碼實(shí)例

    Javascript前端下載后臺傳來的文件流代碼實(shí)例

    這篇文章主要介紹了Javascript前端下載后臺傳來的文件流代碼實(shí)例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-08-08
  • js實(shí)現(xiàn)點(diǎn)擊每個(gè)li節(jié)點(diǎn),都彈出其文本值及修改

    js實(shí)現(xiàn)點(diǎn)擊每個(gè)li節(jié)點(diǎn),都彈出其文本值及修改

    本篇文章主要分享了js實(shí)現(xiàn)點(diǎn)擊每個(gè)li節(jié)點(diǎn),都彈出其文本值及修改的實(shí)例代碼,具有很好的參考價(jià)值,需要的朋友一起來看下吧
    2016-12-12
  • js中的replace方法使用介紹

    js中的replace方法使用介紹

    replace() 方法用于將字符串用一些字符替換另一些字符,如果用正則表達(dá)式替換時(shí), regexp 具有全局標(biāo)志 g,下面有個(gè)不錯(cuò)的示例,感興趣的朋友可以參考下
    2013-10-10
  • JS技巧Canvas性能優(yōu)化臟矩形渲染實(shí)例詳解

    JS技巧Canvas性能優(yōu)化臟矩形渲染實(shí)例詳解

    這篇文章主要為大家介紹了JS技巧Canvas?性能優(yōu)化臟矩形渲染實(shí)例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-01-01
  • 詳解ECMAScript6入門--Class對象

    詳解ECMAScript6入門--Class對象

    本篇文章主要介紹了詳解ECMAScript6入門--Class對象,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2017-04-04

最新評論