2012-08-30 2 views
3

Windows 8 (IE10 엔진)에서 작업. 다른 브라우저와 호환 할 필요가 없습니다. 텍스트가있는 contenteditable div가 있습니다. 사용자가 페이지의 다른 요소를 클릭하고 사용자 커서가있는 div에 일부 HTML을 붙여 넣은 다음 div에 다시 포커스를 반환합니다. div에 붙여 넣을 수는 있지만 사용자는 입력을 계속할 수 없으며 포커스를 반환 할 방법을 찾을 수 없습니다. 누군가?"focus"를 contenteditable div에 다시 설정하는 방법

여기

var sel = document.selection.createRange(); 
sel.pasteHTML(span.outerHTML); 

답변

2

그냥 elem.focus();를 사용 (I 비슷한 질문을 발견했지만 아무도는 적용하지 않았다) ... 다른 요소를 클릭했을 때 내가 실행 해요 자바 스크립트입니다. 그것은 정상적으로 작동해야합니다. 커서를 올바른 위치로 이동하려면 setSelectionRange을 사용하십시오.

+5

작동하지 않습니다. 제 생각에는 .focus()는 입력과 같은 폼 컨트롤에서만 작동합니다. 이것은 div입니다. –

+0

@JeremyFoster 어떤 브라우저를 사용하고 있습니까? Chrome에서 제대로 작동합니다. [이 데모 사용해보기] (http://jsfiddle.net/amaan/HsPtX/) –

+0

내 게시물보기. IE10 (Windows 8)을 사용하고 있습니다. 그 데모를 시험해 볼게. 감사. –

관련 문제