2012-06-15 3 views
1

줄 바꿈 "\ n"을 표시하기 위해 모든 브라우저에서 "enter"를 눌렀을 때 기본 이벤트를 방지하는 방법을 찾았습니다. 원래 코드는 다음과 같습니다. http://jsfiddle.net/FhEf6/3/Jquery 및 Contenteditable - 강제 줄 바꿈이 하나의 공백으로 표시됩니다.

완벽하게 작동하지만 내 사이트 (Jquery 1.7.2 포함)에 이것을 포함하면 새로운 "\ n"이 하나의 공백으로 표시됩니다. 소스에서 줄 바꿈을 올바르게 표시하기 때문에 궁금합니다.

다른 점은 줄 바꿈 대신 <br>을 사용하면 ... <br>이 완전히 보이기 때문입니다 (소스를 보면 <>이 각각의 htmlentities ...로 바뀝니다).

원본 코드가 jsfiddle에서 완벽하게 작동하기 때문에 아주 이상한 점이 있습니다. 변경하지 않았습니다. 여기 (View Post) 질문을 읽었지만 좋은 해결책이 아닌 것 같습니다.

편집는! 컨테이너에 "사전 공백을"

업 ... 나는 사용해야합니다. 좋아,하지만 ... 아직도 감각이 없어, 왜 이런 식으로 움직이는거야?, 새로운 라인이 새로운 라인인가, 그렇지 않은가?

답변

0

새 줄 문자를 사용하는 것은 여전히 ​​HTML이므로 작동하지 않습니다. <br> 태그가 붙어 있습니다. 그것이 요소 노드 N 대 textnode 때문에

는 현재 코드로 작동하지 않습니다.

콘텐츠 편집이 가능한 모든 프로젝트에 Rangy을 사용하는 것이 좋습니다.

I가 여기에 거의 작업 솔루션 : 이 http://jsfiddle.net/7A8Xw/ (크롬에 나누기를 삽입하지만 당신은 당신이 두 번 치면) 작동 컨텐츠 (의 끝에서 Enter 키를 누르십시오 경우는 BR 이후로 커서를 이동 아니에요)

+0

좋은 대답! ;디 – Kenedy

관련 문제