Получить элемент текстового поля Firepad или текущий символ при наборе текста - PullRequest
0 голосов
/ 16 июня 2020

Я пытаюсь реализовать поведение, подобное хэштегу, в Firepad, используя JQuery.

Есть ли способ получить элемент textarea или символ, который вы сейчас набираете в редакторе Firepad, чтобы: например, когда я набираю "#", запускается событие?

Я пробовал использовать функцию getText(), но она дает мне всю строку только при синхронизации с Firebase, поэтому, когда я быстро набираю текст, она не синхронизируется, пока я не остановлюсь на секунду, поэтому я не могу вызвать событие в тот момент, когда я набираю специальный символ c.

1 Ответ

1 голос
/ 16 июня 2020

Я не знаю насчет FirePad, но с Textarea вы можете сделать что-то вроде этого.

document.querySelector("textarea").addEventListener("keydown", (event) => {
  if (event.key === "#") window.alert("# found");
}, false);

document.querySelector("div").addEventListener("keydown", (event) => {
  if (event.key === "#") window.alert("# found");
}, false);
div {
  border: 1px solid #aaa;
}
<textarea></textarea>
<div contenteditable="true"></div>
...