• Как передать событие другому елементу?

    @dimoff66
    Кратко о себе: Я есть
    Здесь несколько моментов

    1) Вам нужно создать новый event, старый уже сдиспатчился и не может быть использован для другого элемента

    document.getElementById("target").dispatchEvent(new Event('keydown', { which: event.which }));


    Теперь евент будет срабатывать.

    2) Если вы хотите чтобы не просто срабатывало событие, а менялся текст, вам придется временно перевести фокус на target и установить курсор в конец текста

    const target = document.getElementById("target")
    target.focus()
    target.selectionStart = target.innerText.length
    target.dispatchEvent(
          new Event('keydown', { which: event.which })

    )

    Но разумнее просто самому менять текст таргета, добавляя полученный символ в конец свойства innerText

    target.innerText += event.key

    а не генерировать событие
    Ответ написан
    Комментировать
  • ContentEditable="true" Как всегда оборачивать текст в под-div-ы?

    profesor08
    @profesor08 Куратор тега JavaScript
    Следи за изменением содержимого своего блока, с помощью MutationObserver, и решай когда и где добавлять дополнительную обертку. Например обернуть все текстовые ноды в div.
    Ответ написан
    Комментировать