Использование и html-элемента элемента addEventListener
имеет ряд преимуществ перед использованием встроенных событий, например onclick
.Как хранить элемент html, включая его прослушиватели событий?
Однако, чтобы сохранить элемент, включая его встроенное событие, прямолинейно, например, путем вставки его в родительский элемент и сохранения родительского innerHTML
.
Возможно ли сделать что-то подобное при использовании прослушивателей событий?
Edit:
я понял, что мой вопрос не достаточно объяснить. Так вот некоторые дополнения.
Под «магазином» я имею в виду способ получить информацию, содержащую элемент и прослушиватель событий.
Аналог с встроенными событиями легко: просто вставьте в родительский элемент и сохраните родительский innerHTML
(строка) где-нибудь, например в базе данных, и заново создайте элемент позже, загрузив строку и применив ее к innerHTML некоторый элемент.
Но как сделать аналог с элементами при использовании прослушивателей событий? Нельзя использовать innerHTML
, так как события не сохраняются.
Надеюсь, это немного уточнит мой вопрос.
Edit 2
С помощью комментариев, которые я сделал несколько неудачных попыток.
Можно получить информацию о element
с использованием createDocumentFragment()
или element.cloneNode(true)
.
Однако первый метод не работает для внешнего хранилища, поскольку, если я правильно понял, будет содержать только указатель. Ниже приведен пример:
https://jsfiddle.net/hcpfv5Lu/
Второй метод не работает. Я не совсем уверен, почему, но если у меня JSON.stringify
, то клон «исчезает». Вот пример:
https://jsfiddle.net/3af001tq/
Что вы подразумеваете под "магазином"? – KevBot
@KevBot Я имею в виду способ получить информацию, чтобы поместить ее в другое место и загрузить ее позже. Например, можно сохранить 'innerHTML' (строку) одного элемента и повторно применить его позже к другому элементу, чтобы восстановить прежний элемент. – Daniel
Я что-то не хватает? addEventListener - это javascript, а не html – Cruiser