2013-08-28 5 views
0

Я использую SCEditor по jQuery на своем веб-сайте, и мне интересно, как я могу получить текущую позицию каретки относительно начала textarea/div?Как получить текущую позицию каретки в текстовом поле SCEditor?

Я пытался что-то вроде:

$J('#textarea').sceditor('instance').getRangeHelper().selectedRange().startOffset 

но только дает мне положение относительно текущего объекта DOM, а не весь TEXTAREA.

То, что я пытаюсь выполнить, - удалить весь текст после каретки из текстового поля. Возможно, есть и другой способ сделать это.

Спасибо,

ответ

0

Вы можете использовать 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(); 
Смежные вопросы