как сохранить элементы DOM и их события - PullRequest
0 голосов
/ 04 мая 2020

Здравствуйте, я создаю небольшой небольшой пользовательский html конструктор, такой как "wix", и я хочу сохранить историю, чтобы сделать (отменить и сделать)

Я записал свои 3 функции для кода

моя проблема в том, что когда я клонирую элементы, они не получают атрибуты и события


let designHistory = []
let designHistoryCurrentIndex = 1

function saveDesign(){
    let iframeDoc = document.querySelector("iframe").contentWindow.document
    let saveObj = {}
    saveObj.id = designHistory.length
    saveObj.design = iframeDoc.getElementById("design-zone").cloneNode(true)
    saveObj.tree = document.getElementById("dap-ul").cloneNode(true)
    console.log(saveObj)
    designHistory.push(saveObj)
    designHistoryCurrentIndex = saveObj.id
}
function designHistoryBack(){
    designHistoryCurrentIndex--
    if(designHistoryCurrentIndex < 0)
        designHistoryCurrentIndex = 0
    let obj = designHistory[designHistoryCurrentIndex]

    let iframeDoc = document.querySelector("iframe").contentWindow.document
    let designZone =  iframeDoc.getElementById("design-zone")
    let tree =  document.getElementById("dap-ul")

    designZone.parentNode.insertBefore(obj.design,designZone)
    designZone.remove()

    tree.parentNode.insertBefore(obj.tree,tree)
    tree.remove()
}
function designHistoryNext(){
    designHistoryCurrentIndex++
    if(designHistoryCurrentIndex > designHistory.length - 1)
        designHistoryCurrentIndex = designHistory.length - 1
    let obj = designHistory[designHistoryCurrentIndex]

    let iframeDoc = document.querySelector("iframe").contentWindow.document
    let designZone =  iframeDoc.getElementById("design-zone")
    let tree =  document.getElementById("dap-ul")

    designZone.parentNode.insertBefore(obj.design,designZone)
    designZone.remove()

    tree.parentNode.insertBefore(obj.tree,tree)
    tree.remove()
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...