Создайте кликабельную цель в контентном divHtml

Программисты Html
Ответить
Anonymous
 Создайте кликабельную цель в контентном div

Сообщение Anonymous »

Я пытаюсь изменить переменную, когда я нажимаю на определенный текст в редактируемом содержимом div, пытаясь имитировать гиперссылку.
Когда я console.log цель в событиях Noteblock и использую оператор if для проверки класса, добавленного в тег с помощью InsertDropboxes, я просто получаю назад NoteBlock
Это метод, который я использовал для выбора из динамических списков (помещая прослушиватель родительского элемента и фильтрация целевого класса), но здесь это, похоже, не работает. Я предполагаю, что это потому, что нажатие на NoteBlock является встроенной функцией атрибута contenteditable, но есть ли хороший способ установить переменную (CurrentNotebook["NoteName"]) посредством текстового ввода?
Я достаточно близок, чтобы попытаться это исправить, следует ли мне подойти к проблеме с другой стороны или мне следует использовать уже существующий модуль NPM?

Код: Выделить всё

// Notebook.js

// 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()
})

Код: Выделить всё

.spit { }
.hidden { }
.left { }
.page { }

Код: Выделить всё




Home
back

NoteBooks








start typing...






Подробнее здесь: https://stackoverflow.com/questions/798 ... itable-div
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Html»