Описать самосоздающуюся функцию
Доброго времени! Написал функцию, создающую другие функции:
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, время: 11:37. |