2010-06-13 4 views
2

좋아, 어떤 사람들은 내 질문을 편집하고 내 질문을 편집 할 것입니다.하지만 그들은 잘못했습니다.execCommand ('밑줄')의 대체 메시지입니다.

더 나은 설명 :

당신은 텍스트 This is a Test String.와의 contentEditable div 있습니다. 당신이 execCommand('strikethrough') 당신이 This <s>is a <u>Test</u></s><u>String</u> 얻을 is a Test 지금 사용하는 경우 지금 사용하는 경우 Test StringexecCommand('underline') 당신이 This is a <u>Test String</u> 를 얻을이 올바른 것입니다.

따라서 HTML5 <u><s>은 더 이상 사용되지 않습니다. 첫 번째 execCommand의 경우 surroundContents()<span style="text-decoration:underline;">을 사용할 수 있습니다. 두 번째 execCommandsurroundContets()을 사용하면 BAD_BOUNDARYPOINTS_ERR이 표시됩니다.

내가 원하는 건 execCommand처럼 작동하지만이 기능은 마녀 HTML 태그로 정의 할 수있는 기능입니다. 문자열이 감싸집니다 ... (겹치는 부분이 있다면 지능형이어야합니다 ...)

+1

여기에는 Javascript 및 HTML5 외에 관련된 것이 있습니다. – Pointy

답변

0

surroundContents()에는 <div> 또는 <p>과 같은 여러 블록 요소가 포함되는 경우 둘러싸인 내용이 새 블록에 배치되어 원래 위치에서 벗어납니다. 이 문제를 극복하기 위해, 당신은 쉽게 여기 내 대답을 적응할 수 :

+0

감사합니다. 그리고 ... Safari에서 작동합니다. 더 이상 필요하지 않습니다. :디 – Phil

0

CSS text-decoration: underline.

+1

Very nice, haha, CSS 태그가 없습니다. CSS에서 밑줄을 만드는 방법을 알고 있습니다 ... 질문은 execCommand ('밑줄')에 대한 Alternativ에 대한 것입니다. – Phil

+1

태그 순서가 잘못되어도이 문제를 해결할 수 있습니다. – Thevs

+0

잘못된 사용 오류를 잡으려고 명령을'try..catch' 블록에 넣을 수도 있습니다. – Thevs