에서 커서의 위치를 얻을 수 보다 나은. 동적으로 생성되고 텍스트와 HTML 태그가 모두 포함 된 contenteditable div가 하나 뿐인 페이지가 있습니다. 페이지에서이 div에 커서 위치에 특정 텍스트를 삽입하는 버튼을 추가하고 싶습니다.자바 스크립트 : 나는 자바 스크립트 꽤 새로운 오전 여기 사람이 다음과 같이 나를 도울 수 있기를 바랍니다의 contentEditable 사업부
지금까지 내가 사업부에서 텍스트를 선택할 때 잘 한 일에 다음 코드를 가지고 있지만 난 그냥 아무것도 선택하지 않고 거기에 내 커서를 놓고 경우는 DIV 외부 내 텍스트를 삽입합니다.
나는 그것이 커서 위치에 항상 선택의 위치에서 현재 수행하는 같은 방법으로 내 텍스트를 추가 얻을 수 있습니까? (가 커서 만 위치에서 요구되는대로 난 선택을 교체 할 필요가 없습니다 또한, 이것은 단지 하나 개의 특정 사업부에 필요한 것입니다..)
내 코드 :
<html>
<head>
<script type="text/javascript">
function test()
{
var input = "TEST";
document.selection.createRange().pasteHTML(input);
}
</script>
</head>
<body>
<div id="myDiv" contenteditable>This is a test text.</div><br />
<button type="button" onclick="test()">Test</button>
</body>
</html>
이 문제에 대한 도움을 주셔서 감사합니다.
감사를 모든 브라우저에서 작업을 수행하지만. 비록 그것이 여전히 포커스를 잃어 버리고 내 div 위에 텍스트를 삽입하는 것처럼 보이지만 (전에 텍스트 부분을 선택했을 때 여전히 잘 작동합니다) 주석과 링크는 매우 유용합니다. 이 문제를 피하기 위해 특정 div에 삽입 할 수있는 방법이 있습니까? – user2571510
@ user2571510 : JSBin 링크가 제대로 작동하지 않습니까? IE 7에서는 괜찮습니다. –
고마워, 팀. 포커스를 얻는 버튼에 관해서는 당신이 맞습니다. 내 문제는 여기에 문제의 단추를 (프롬프트 상자) 같은 Bootbox 대화 상자 내에 있고 거기에 단추를 클래스 있지만 ID가 그래서 내가 선택기없는 특성을 추가하는 방법을 모릅니다. – user2571510