我在我的网站中沿 jQuery 使用 SCEditor,我想知道如何获得相对于 textarea/div 开头的当前插入符号位置?
我试过这样的事情:
$J('#textarea').sceditor('instance').getRangeHelper().selectedRange().startOffset
但这只会给我相对于当前 DOM 对象的位置,而不是整个文本区域。
我想要完成的是从文本区域中删除插入符号后的所有文本。也许还有另一种方法可以做到这一点。
谢谢,
我在我的网站中沿 jQuery 使用 SCEditor,我想知道如何获得相对于 textarea/div 开头的当前插入符号位置?
我试过这样的事情:
$J('#textarea').sceditor('instance').getRangeHelper().selectedRange().startOffset
但这只会给我相对于当前 DOM 对象的位置,而不是整个文本区域。
我想要完成的是从文本区域中删除插入符号后的所有文本。也许还有另一种方法可以做到这一点。
谢谢,
您可以使用rangeHelper().saveRange()在选择的开始和结束处插入标记并使用它们。
例如:
var sceditor = $("textarea").sceditor("instance");
// Inserts spans with the ID #sceditor-end-start and #sceditor-end-marker
// at the start and end of the current selection
sceditor.getRangeHelper().saveRange();
// Get the DOM node for #sceditor-end-marker and remove all
// nextSiblings and parent nextSiblings from the editor
// which will remove everything after the end of the selection
var node = sceditor.getBody().find('#sceditor-end-marker').get(0);
while (node) {
while (node.nextSibling)
node.parentNode.removeChild(node.nextSibling);
node = node.parentNode;
}
// Restores the selection back to the positions of the
// #sceditor-end-start and #sceditor-end-marker markers
sceditor.getRangeHelper().restoreRange();
sceditor.focus();