0
에 첨부 된 문자열의 끝에 커서/캐럿을 다시 설정, 여기에 놀러 바이올린입니다 : 안녕하세요 @An그래서 문제를 재현 DIV
: 상자에 다음과 같은 문자열유형 http://jsfiddle.net/QRgE9/1/
드롭 다운에서 선택하십시오.
선택을 완료하면 커서는 찾을 위치가 아니며 사용자가 div를 다시 클릭해야한다는 것을 알 수 있습니다. 선택을 한 후에 커서가 깜박이도록 (포커스를 잃지 않도록) 어떻게 만들 수 있습니까? 나는 facebook이 이것을 잘 할 수 있다는 것을 안다. 그래서 나는 뭔가를 놓치고 있다고 생각한다.
또한 커서가 문자열 끝에 항상 추가되지는 않습니다. 대소 문자를 문자열 중간에 삽입하면 커서는 문자열 중간에서 다시 시작됩니다.
$(".display_box").live("mousedown",function(event)
{
$("#friendsList").hide();
selRange = saveSelection();
var startOffset = selRange.startOffset;
var endOffset = selRange.endOffset;
var username = $(this).attr('title');
var currentContent = $("#recommendTextArea").html();
var E ="<span contenteditable='false' title=\"" + username + "\">"+ username + "</span> ";
var newContent = currentContent.replace(word, E); //replacing @abc to users real name
$("#recommendTextArea").html(newContent);
selRange.setStart($("#recommendTextArea")[0].childNodes[0], startOffset);
selRange.setEnd($("#recommendTextArea")[0].childNodes[0], endOffset);
restoreSelection(selRange);
event.preventDefault();
});
나는 그러나, 커서의 위치가 내가 즉, 설정'시작하고 대신 startOffset'의 start''에 종료 selRange', 당신은 start''커서의 위치를 설정해야한다고 생각 – adit
항상 잘못된 것을 변화 시도 '및'endOffset'. 좀 더 조정해야 할 수도 있지만 일반적으로 피들에서 해보려고하면 효과가 있습니다. –
수정 된 바이올린을 게시 할 수 있습니까 – adit