内容可编辑和输入/向上/向下键事件-按range.setStart设置光标

时间:2018-11-22 13:13:27

标签: javascript html contenteditable

在替换文本末尾的contentEditable元素后,我尝试移动光标位置。问题是光标而不是给定命令将自身设置为启动(在所有其他单词之前)。当我console.log range.selectNodeContents函数时,它返回未定义。该如何解决?

let textField = document.querySelector('.textfield');
                    textField.addEventListener('input', () => {
                        textField.innerHTML = textField.innerHTML.replace(':)',
                            '<img src="../../assets/img/emoji/happy.png');
                        let startNode = textField.childNodes[textField.childNodes.length - 1];
                        let range = document.createRange();
                        range.selectNodeContents(textField);
                        range.setStart(startNode, 0);
                    }, false);

0 个答案:

没有答案