【发布时间】:2021-09-01 08:46:31
【问题描述】:
假设我有一个纯 HTML 文本区域。我想要做的是我希望能够在输入字符时插入不同的字符。例如,我想在将< 输入到文本区域时插入<>。另外,如果可能的话,我希望能够在< 和> 之间移动光标。
这就是我现在所拥有的。不过,它仅在光标位于末尾时才有效。
let editing = document.querySelector("#editing");
const handler = (event) => {
if (editing.value.endsWith("<")) {
editing.value += ">";
editing.setSelectionRange(editing.selectionStart - 1, editing.selectionStart - 1)
}
}
editing.addEventListener("propertychange", handler)
editing.addEventListener("input", handler)
<textarea name="editing" id="editing"></textarea>
【问题讨论】:
-
@CharlesBamford 确实如此,我会看到
-
event.data有您正在寻找的信息,请查看 mdn 获取文档。也使用event.target而不是editing,它会让你的处理程序可重用。
标签: javascript html