Код: Выделить всё
Homeback
NoteBooks
start typing...
Код: Выделить всё
// Elements
const CurrentNotebook = {}
const NoteBlock = document.getElementById('NoteBlock')
// building blocks
function updateblock() {
var NoteFile = fs.readFileSync(`./Notebooks/${CurrentNotebook["Name"]}/${CurrentNotebook["NoteName"]}`)
console.log(`Update NoteBlock`)
NoteBlock.innerHTML = marked.parse(String(NoteFile))
insertDropboxes(String(NoteFile))
}
function insertDropboxes(text){
for (var link in CurrentNotebook["MetaData"]){
var temp = text.split(`[${link}]`)
text =temp.join(`${link}`)}
return(text)
}
//listeners
NoteBlock.addEventListener('focus', async function (e){
NoteBlock.innerText = fs.readFileSync(`./Notebooks/${CurrentNotebook["Name"]}/${CurrentNotebook["NoteName"]}`)
})
NoteBlock.addEventListener('focusout', async function (e) {
console.log(e.target.classList)
var NoteFile = fs.readFileSync(`./Notebooks/${CurrentNotebook["Name"]}/${CurrentNotebook["NoteName"]}`)
var curnotenamebody = document.getElementsByClassName(`NoteBody`)[0]
fs.writeFileSync(`./Notebooks/${CurrentNotebook["Name"]}/${CurrentNotebook["NoteName"]}`,insertDropboxes(String(NoteBlock.innerText)))
updateblock()
playWriting()
})
Это метод, который я использовал для выбора из динамических списков (помещение прослушивателя в родительский класс и фильтрация для целевого класса), но, похоже, здесь он не работает. Я предполагаю, что это связано с тем, что нажатие на NoteBlock является встроенной функцией атрибута contenteditable, но есть ли хороший способ установить переменную (CurrentNotebook["NoteName"]) посредством текстового ввода?
Я достаточно близок, чтобы попытаться это исправить, следует ли мне подойти к проблеме с другой стороны или мне следует использовать уже существующий модуль NPM?
Подробнее здесь: https://stackoverflow.com/questions/798 ... itable-div
Мобильная версия