Дано:
<div id="comment_content_new" contenteditable="true" tabindex="0">
<p>
<span class="tag" id="tag30">theTag</span> @rac
</p>
</div>
Когда курсор находится после c в @rac, я могу получить позицию курсора с помощью:
saveRange = window.getSelection (). GetRangeAt (0);
Что обеспечивает:
Range
collapsed: true
commonAncestorContainer: Text
endContainer: Text
endOffset: 5
startContainer: Text
startOffset: 5
То, что я хочу сделать, это дать позицию курсора, заставить все двигаться назад до первого @ относительно позиции курсора. Учитывая, что диапазон дает мне неправильный курсор, я не могу использовать .text () так, как пытался, что-то вроде:
text = $('#comment_content_new p').text();
trigger = '@';
lastTriggerPosition = text.substring(0, cursorPosition).lastIndexOf(trigger);
Есть идеи, как мне это осуществить? Я понимаю, что это не легко! спасибо