Присоединение обработчиков событий к новым элементам TinyMCE

Я пытаюсь создать плагин TinyMCE, который добавляет обработчик событий для определенных типов элементов в редакторе по мере их создания во время редактирования. Я начал с просмотра события NodeChange, но оно казалось очень ненадежным, часто не вызывалось при создании определенных типов элементов.

В другом ответе я увидел, что он предложил прослушать событие DOMNodeInserted самого документа. Когда я это делаю, я вижу, как создаются новые элементы, но у меня есть две проблемы:

  1. Мне нужно установить идентификатор недавно созданного элемента в уникальное значение. Первый элемент, который я делаю, это работает. Но второй элемент каким-то образом имеет тот же идентификатор (дублируется!), Когда вызывается событие, и независимо от того, изменяю я его или нет, после этого оно очищается без идентификатора. Я могу обойти это, установив тайм-аут и установив идентификатор в этом, но я не уверен, есть ли какой-то другой способ установки пропущенного идентификатора, который не конфликтует с TinyMCE.

  2. Когда я создаю обработчик события onclick для вновь созданного элемента, он не вызывается при нажатии на элемент. Я попытался подключить обработчик событий несколькими способами:

    elem.onclick = myEventHandler

    elem.addEventListener ("щелчок", myEventHandler, правда)

    tinyMCE.DOM.bind (эль, "нажмите", myEventHandler)

    tinyMCE.dom.DOMUtils.bind (эль, "нажмите", myEventHandler)

и как большой подход молотка я даже попробовал:

tinymce.activeEditor.on('click', function(e) {
    console.debug("click:",e.target);
});

Почему я не получаю событие? Что я делаю неправильно? Мне не совсем понятно, какой правильный метод использовать, так как многие вопросы о событиях относятся к предыдущим версиям (например, 3 и 4) TinyMCE, который сейчас находится на версии 5.

Обновление. Похоже, что обработчики событий присоединяются, но как только некоторые виды редактирования (например, отступ) дублируют все объекты, а оригиналы удаляются. Дублирование не сохраняет исходные обработчики событий.

0 ответов

Другие вопросы по тегам