我是想做一個語法分享的框框,但是我感覺這東西還缺少了點什麼,雖然堪用,可是我那個"複製"按鈕...好像是沒有成功

如果有人嘗試了,可以幫我回覆一下那個"複製"按鈕有沒有成功的複製程式碼呢?

這個還需要再研究測試,有完成版才會開始用,這篇會重新分享最終版

 

我覺得還需要改進和待增加的點:

  • 語法的邊界應該要在複製按鈕以內
  • code可以讓閱讀者自由更動裡面小部分,然後再複製帶走
  • 提供改色的色碼示範,和可以直接帶走的懶人包

筆記:前台HTML+後台CSS、JS

複製
    <div class="meihwa-code-block" style="position: relative; background-color: #f9f4f2; border: 1px solid #d0b7b2; border-radius: 8px; padding: 12px 12px 20px 12px; margin: 16px 5px; box-shadow: 0 1px 5px rgba(208,183,178,0.2); font-family: Calibri, monospace;">

  <!-- 複製按鈕 -->
  <button class="copy-btn" onclick="copyCode(this)" style="position: absolute; top: 8px; right: 10px; padding: 4px 12px; font-size: 12px; background-color: #d0b7b2; color: #fff; border: none; border-radius: 4px; cursor: pointer;">複製</button>

  <!-- 可編輯的 code 區塊,自動換行 -->
  <pre style="margin: 0; font-family: Calibri, monospace; font-size: 13px; line-height: 1.6; background: transparent; border: none;">
    <code contenteditable="true" style="display: block; white-space: pre-wrap; word-break: break-word;">你好世界
日日是好日
天天開心
</code>
  </pre>
</div>

<script>
  function copyCode(button) {
    const code = button.parentElement.querySelector("code");
    const selection = window.getSelection();
    const range = document.createRange();
    range.selectNodeContents(code);
    selection.removeAllRanges();
    selection.addRange(range);

    try {
      document.execCommand("copy");
      selection.removeAllRanges();
      button.innerText = "已複製";
      setTimeout(() => button.innerText = "複製", 2000);
    } catch (err) {
      console.error("複製失敗", err);
    }
  }
</script>


  

 

 

如果您喜歡梅梅的文章,希望您可以幫忙點個推推,留言支持,轉發分享

🌸 非常感謝您 🌸

地藏王菩薩愛您
迎接地藏王菩薩進入您的人生,推薦您以下五個天界之舟出品的禱告運用
點閱播放讓地藏王菩薩幫助您~
驅離邪靈惡鬼騷擾、財運亨通、身體健康、擺脫惡疾、人生順遂

驅魔禱告驅魔精簡版破邪禱告抗癌禱告發財禱告

所追求的是公益.慈愛.真理之路

追蹤梅花問路的社群

本頁圖文影音版權所有 © 梅花問路

 

 

 

問路家族追求的是公益.慈愛.真理之路

版面微調、設計、產品推廣等需求

來信或透過 IG私訊我。

/ 修行、音樂、CSS、生活 /

如果您喜歡我的分享,可以小額贊助鼓勵:

加油!繼續努力!

 

 

 

文章標籤
全站熱搜
創作者介紹
創作者 梅梅 的頭像
梅梅

梅花問路

梅梅 發表在 痞客邦 留言(1) 人氣(13)