Описать самосоздающуюся функцию
Доброго времени! Написал функцию, создающую другие функции:
function setnewtask() {
...
tasklink.innerHTML = localStorage.getItem('task' + lscounter) + '<button class="deletebutton" onclick="deletetask' + lscounter + '()">×</button>';
...
}
tasklink - это переменная, создающая новый div (для информации), lscounter - просто число. Вопрос следующий: создаётся кнопка с функцией deletetask + lscounter (т.е. deletetask1, deletetask2, deletetask...). А как описать такого рода функцию, не задавая конкретного имени (я пробовал: function deletetask + lscounter() {}, но безуспешно) Вопрос очень важный, возможности описывать каждую функцию deletetask... нет, т.к. их количество неограниченно. |
Цитата:
Не обязательно вешать обработчики на каждый элемент. Можно вешать обработчик на родителя и проверять на каком элементе сработал вызов события. После этого выполнять нужные действия... |
Цитата:
const deletetask[lscounter()] = function() {}
|
Функция setnewtask() создаётся при нажатии на кнопку. На кнопку можно нажать 1 раз, а можно 100. Объекты (div), которые создаются функцией setnewtask(), можно удалить при помощи deletetask...(), которая также создаётся setnewtask(). Это и есть логика приложения :)
|
Цитата:
Если бы ты не ленился и сделал тестовый пример - на нем можно было бы показать разные альтернативные решения. |
:-? подожду переводчика ...
|
Продолжаю тему: реальный пример здесь: https://codepen.io/MadMot/pen/JjWRPqg
Основной вопрос: как описать функцию для удаления заметки? Дополнительно: проблема 1: при выставлении тёмного режима и следующем вызове окна создания заметки окно всё-равно меняет цвет на белый; проблема 2: как передать из textarea в заметку текст со всеми абзацами пробелами? |
ABitOfJS,
1не надо так делать .style=" надо не стирать весь стиль, а менять нужные свойства стиля. читать https://learn.javascript.ru/styles-and-classes исправить style в js и сделать разметку страницы для образца
<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Document</title>
</head>
<body>
</body>
</html>
2
var ntc = document.getElementById("task").value;
ntc = ntc.replace(/\n/g, "<br>");
console.log(ntc);
|
| Часовой пояс GMT +3, время: 15:55. |