我是想做一個語法分享的框框,但是我感覺這東西還缺少了點什麼,雖然堪用,可是我那個"複製"按鈕...好像是沒有成功
如果有人嘗試了,可以幫我回覆一下那個"複製"按鈕有沒有成功的複製程式碼呢?
這個還需要再研究測試,有完成版才會開始用,這篇會重新分享最終版
我覺得還需要改進和待增加的點:
- 語法的邊界應該要在複製按鈕以內
- 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>
如果您喜歡梅梅的文章,希望您可以幫忙點個推推,留言支持,轉發分享
🌸 非常感謝您 🌸
地藏王菩薩愛您
迎接地藏王菩薩進入您的人生,推薦您以下五個天界之舟出品的禱告運用
點閱播放讓地藏王菩薩幫助您~
驅離邪靈惡鬼騷擾、財運亨通、身體健康、擺脫惡疾、人生順遂
文章標籤
全站熱搜

感謝好友分享