Angularjs 如何解决文本编辑器中的光标问题
如果输入拼写错误的单词,我正在使用文本编辑器。每当我纠正拼写错误的单词,并且我处于当前位置,在删除拼写错误单词的一个字母后,我正在纠正拼写错误,这会使我再次回到之前的位置,或者你可以在语句末尾说。我如何解决这个问题Angularjs 如何解决文本编辑器中的光标问题,angularjs,text-editor,Angularjs,Text Editor,如果输入拼写错误的单词,我正在使用文本编辑器。每当我纠正拼写错误的单词,并且我处于当前位置,在删除拼写错误单词的一个字母后,我正在纠正拼写错误,这会使我再次回到之前的位置,或者你可以在语句末尾说。我如何解决这个问题 public moveCaret(win, chars) { var sel, range; // word_count chars sel = window.getSelection(); if (sel) { sel = win.g
public moveCaret(win, chars) {
var sel, range;
// word_count chars
sel = window.getSelection();
if (sel) {
sel = win.getSelection();
if (sel.character > 0) {
var word_count = sel.focusNode;
var newOffset = sel.focusOffset + chars;
sel.collapse(word_count, Math.min(word_count.length, newOffset));
console.log(newOffset, 'new')
}
} else if ( (sel = win.document.selection) ) {
if (sel.type != "Control") {
range = sel.createRange();
range.move("character", chars);
range.select();
}
}
}
不知道您在代码中做什么,因为您没有提供代码,所以无法修复代码;但是看到
jQuery
和Angularjs
标记在一起,我并不奇怪您会遇到问题……我已经分享了一段代码,请查看一下。请正确地引导我。感谢问题是,由于Angular会在数据更改时重新生成视图,因此文本区域也会重新生成,因此光标不会保持原来的位置。这是一个众所周知的问题,文本区域和可编辑的div在角度。就我个人而言,我从来没有能够正确地解决这个问题……我顺便问一下,你能用Javascript或Angular分享一些有用的资料吗?“任何有用的资料”?:)是的,Youtube、Udemy和数百万科技网站上到处都是有用的材料、教程和课程!