/
maxxon
/
web-static-labs
Обзор
Документация
Войти
/
maxxon
/
web-static-labs
Код
Запросы
0
Задачи
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
html/lab5/task2/script.js
90 строк
3 KB
Dasha_10
изменения
19 окт 2025, 18:51
19 окт 2025, 18:51
b6adcb0
Код
Авторство
О чём код?
document.addEventListener('DOMContentLoaded', function() { const taskInput = document.getElementById('taskInput'); const addTaskButton = document.getElementById('addTaskButton'); const taskList = document.getElementById('taskList'); addTaskButton.addEventListener('click', function() { const taskText = taskInput.value.trim(); if (taskText !== '') { addTask(taskText); taskInput.value = ''; } }); function addTask(taskText) { const now = new Date(); const dateTimeString = now.toLocaleString(); const taskItem = document.createElement('div'); taskItem.classList.add('task-item'); taskItem.innerHTML = ` <p>${dateTimeString}</p> <p>${taskText}</p> <div class="task-buttons"> <button class="copy-button">Копировать в буфер</button> <button class="delete-button">Удалить задачу</button> </div> `; taskList.prepend(taskItem); // Добавляем задачу в начало списка // Обработчики событий для кнопок const copyButton = taskItem.querySelector('.copy-button'); const deleteButton = taskItem.querySelector('.delete-button'); copyButton.addEventListener('click', function() { copyToClipboard(taskText); }); deleteButton.addEventListener('click', function() { taskItem.remove(); }); } function copyToClipboard(text) { if (navigator.clipboard && navigator.clipboard.writeText) { navigator.clipboard.writeText(text) .then(() => { alert('Задача скопирована в буфер обмена!'); }) .catch(err => { console.error('Не удалось скопировать текст: ', err); fallbackCopyToClipboard(text); // Используем запасной вариант }); } else { fallbackCopyToClipboard(text); // Используем запасной вариант } } // Запасной вариант для копирования в буфер обмена (старые браузеры) function fallbackCopyToClipboard(text) { var textArea = document.createElement("textarea"); textArea.value = text; // Скрываем textarea textArea.style.position = "fixed"; textArea.style.top = 0; textArea.style.left = 0; textArea.style.width = "2em"; textArea.style.height = "2em"; textArea.style.padding = 0; textArea.style.border = "none"; textArea.style.outline = "none"; textArea.style.boxShadow = "none"; document.body.appendChild(textArea); textArea.focus(); textArea.select(); try { var successful = document.execCommand('copy'); var msg = successful ? 'успешно' : 'не удалось'; alert('Задача скопирована в буфер обмена ' + msg); } catch (err) { console.error('Не удалось скопировать текст: ', err); alert('Не удалось скопировать задачу в буфер обмена'); } document.body.removeChild(textArea); } });