Копирование текста в буфер обмена одним кликом
Модификация добавляет кнопку или выделяет текст, который можно скопировать в буфер обмена одним нажатием. Упрощает процесс копирования контактных данных, ссылок или важной информации с вашего сайта для пользователей.
Инструкция по установке
Создайте Zero Block и добавьте в него кнопку и текст
Присвойте классы
Добавьте блок Т123 и скопируйте в него код
.text-copy - Класс для текста
.btn-copy - Класс для кнопки
1.
2.
3.
В коде замените значения переменных для стилей на свои
4.
Сохраните и переопубликуйте страницу
5.
<!-- meloddy.design - Стандартный блок внутри другого блока -->
<script>
    // Конфигурация стилей и поведения
        const copySuccessMessage = 'Промокод скопирован!';
        const doneClass = 'done';
        const textSelector = '.text-copy .tn-atom';
        const buttonSelector = '.btn-copy .tn-atom';
                    
        function createCSS() {
            const style = document.createElement('style');
            style.type = 'text/css';
            style.innerHTML = `
            .text-copy .tn-atom {
                 cursor: pointer;
                 transition: all 0s !important;
             }
             .btn-copy {
                   cursor: pointer;
              }
              .done {
                   background-color: var(--done-bg-color) !important;
                   color: var(--done-txt-color) !important;
                   font-weight: var(--done-txt-weight) !important;
                   width: 100% !important;
               }
                        
               :root {
                   --done-bg-color: transparent; /* цвет фона уведомления после копирования */
                   --done-txt-color: #000000; /* цвет текста уведомления после копирования */
                   --done-txt-weight: 600; /* жирность текста уведомления после копирования */
                }
                `;
            document.head.appendChild(style);
        }
                
                    function copyText(el) {
                        const tempTextarea = document.createElement('textarea');
                        document.body.appendChild(tempTextarea);
                        
                        tempTextarea.value = el.textContent;
                        tempTextarea.select();
                        document.execCommand('copy');
                        document.body.removeChild(tempTextarea);
                    
                        el.textContent = copySuccessMessage;
                        el.classList.add(doneClass);
                    }
                    
                    document.addEventListener('DOMContentLoaded', () => {
                        createCSS();
                        
           const textElement = document.querySelector(textSelector);
           const buttonElement = document.querySelector(buttonSelector);
                    
           buttonElement.addEventListener('click', () => {
           copyText(textElement);
       });
   });
</script>
Копировать код
Код модификации
 
// Конфигурация стилей и поведения
const copySuccessMessage = 'Промокод скопирован!';
const doneClass = 'done';
const textSelector = '.text-copy .tn-atom';
const buttonSelector = '.btn-copy .tn-atom';
function createCSS() {
const style = document.createElement('style');
style.type = 'text/css';
style.innerHTML = `
.text-copy .tn-atom {
cursor: pointer;
transition: all 0s !important;
}
.btn-copy {
cursor: pointer;
}
.done {
background-color: var(--done-bg-color) !important;
color: var(--done-txt-color) !important;
font-weight: var(--done-txt-weight) !important;
width: 100% !important;
}
:root {
--done-bg-color: transparent; /* цвет фона уведомления после копирования */
--done-txt-color: #000000; /* цвет текста уведомления после копирования */
--done-txt-weight: 600; /* жирность текста уведомления после копирования */
}
`;
document.head.appendChild(style);
}
function copyText(el) {
const tempTextarea = document.createElement('textarea');
document.body.appendChild(tempTextarea);
tempTextarea.value = el.textContent;
tempTextarea.select();
document.execCommand('copy');
document.body.removeChild(tempTextarea);
el.textContent = copySuccessMessage;
el.classList.add(doneClass);
}
document.addEventListener('DOMContentLoaded', () => {
createCSS();
const textElement = document.querySelector(textSelector);
const buttonElement = document.querySelector(buttonSelector);
buttonElement.addEventListener('click', () => {
copyText(textElement);
});
});
 
Код модификации
Копировать код
<!-- meloddy.design - Стандартный блок внутри другого блока -->
<script>
    // Конфигурация стилей и поведения
        const copySuccessMessage = 'Промокод скопирован!';
        const doneClass = 'done';
        const textSelector = '.text-copy .tn-atom';
        const buttonSelector = '.btn-copy .tn-atom';
                    
        function createCSS() {
            const style = document.createElement('style');
            style.type = 'text/css';
            style.innerHTML = `
            .text-copy .tn-atom {
                 cursor: pointer;
                 transition: all 0s !important;
             }
             .btn-copy {
                   cursor: pointer;
              }
              .done {
                   background-color: var(--done-bg-color) !important;
                   color: var(--done-txt-color) !important;
                   font-weight: var(--done-txt-weight) !important;
                   width: 100% !important;
               }
                        
               :root {
                   --done-bg-color: transparent; /* цвет фона уведомления после копирования */
                   --done-txt-color: #000000; /* цвет текста уведомления после копирования */
                   --done-txt-weight: 600; /* жирность текста уведомления после копирования */
                }
                `;
            document.head.appendChild(style);
        }
                
                    function copyText(el) {
                        const tempTextarea = document.createElement('textarea');
                        document.body.appendChild(tempTextarea);
                        
                        tempTextarea.value = el.textContent;
                        tempTextarea.select();
                        document.execCommand('copy');
                        document.body.removeChild(tempTextarea);
                    
                        el.textContent = copySuccessMessage;
                        el.classList.add(doneClass);
                    }
                    
                    document.addEventListener('DOMContentLoaded', () => {
                        createCSS();
                        
           const textElement = document.querySelector(textSelector);
           const buttonElement = document.querySelector(buttonSelector);
                    
           buttonElement.addEventListener('click', () => {
           copyText(textElement);
       });
   });
</script>
Пример работы модификации
Скопировать
ВАШ ПРОМОКОД:
MELODDY.DESIGN
ПОЛЕ ДЛЯ ПРОВЕРКИ
Made on
Tilda