일부 텍스트에서 execCommand
을 실행하는 방법을 알고 있지만 내 contenteditable
div에 다른 텍스트를 실행할 수있는 방법이 있습니까?임의의 텍스트에 execCommand 스타일 적용
1
A
답변
1
IE에서 예. 다른 브라우저에서는 없습니다.
모든 주요 데스크톱 브라우저는 사용자 선택에만 적용되는 document.execCommand()
의 일부 형식을 구현합니다. IE에서는 TextRange
개체도 execCommand
메서드를 사용합니다.
<div id="test">Here is a test div</div>
<script type="text/javascript">
var div = document.getElementById("test");
div.onmouseover = function() {
if (document.body.createTextRange) {
var textRange = document.body.createTextRange();
textRange.moveToElementText(div);
textRange.execCommand("foreColor", false, "green");
}
};
</script>
0
알고 계시지 않는 경우, .execCommand
은 IE에서만 사용할 수있는 비표준 자바 스크립트 기능이므로 피해야합니다.
사용하고자하는 것을 알려 주시면 표준을 준수하는 대안을 제안 할 수 있습니다.
'은 현재 선택에서 작동 document.execCommand'는, 실제로 잘 지원 : 사용자가 커서를 가져 가면 예를 들어, 다음은 요소 녹색의 텍스트 내용을 설정합니다. 파이어 폭스는 1.0 일 전부터 사파리 2.0 이후부터 WebKit을 사용 해왔다. 오페라는 적어도 9.0 이후부터 지원해 왔습니다. –
@TimDown'execCommand'는 실제로 잘 지원되는 것 같습니다. 그것은 사양에 문서화되어 있습니까? 나는 그것이 "Hackish"인 것을 모두 느낀다. – Raynos
확실히 일관되게 구현되지는 않는다. 그것이 최종적인 방법을 모르지만 HTML5에서 지정하기위한 노력이 있습니다. http://dev.w3.org/html5/spec/Overview.html#execCommand –