Поведение может происходить только потому, что элемент slackMessageField
не имеет никакого текста внутри и, следовательно, slackMessageField.innerText
не получает никакого текста. Если вам случится запускать одно и то же событие снова и снова, <space>Hello
будет объединяться каждый раз. Убедитесь, что вы добавили искомый текст в целевой элемент. Например:
document.querySelector('.ql-editor').addEventListener("keydown", async function(event) {
if (event.keyCode === 13) {
//Fetch current element with data
var slackMessageField = document.querySelector('.ql-editor');
event.preventDefault();
textRightNow = slackMessageField.innerText;
slackMessageField.innerText = (slackMessageField.innerText + " HELLO");
}
});
.ql-editor {
border: 1px solid #000;
padding: 5px;
}
<label>Press Enter:</label>
<div class="ql-editor ql-blank" data-gramm="false" contenteditable="true" id="undefined" dir="auto" role="textbox" tabindex="0" data-team-id="T9L8N47PZ" aria-label="Message #ipnmod" aria-describedby="context-bar-text" aria-multiline="true" aria-autocomplete="list"
aria-expanded="false" aria-owns="chat_input_tab_ui" spellcheck="true">
Lorem Ipsum
</div>
В приведенном выше примере, когда срабатывает событие keydown, внутри элемента slackMessageField
будет некоторый существующий текст, и, следовательно, результат будет показать как Lorem Ipsum HELLO
после того, как событие сработало.