사용자가 contenteditable
요소에 줄 바꿈을 삽입하면 브라우저에서 HTML을 요소에 삽입합니다. 여기 브라우저가 contenteditable 요소에 HTML을 삽입하지 못하도록하는 방법
[Enter]
쳤을 때 당신은 무엇을 얻을 수 있습니다 : (.
this JSFiddle demo와 자신을위한 시험)
IE: <p></p>
Chrome: <div><br></div>
Safari: <div><br></div>
Firefox: <br />
Opera: <br />
을
이 때 HTML을 삽입하지 브라우저를 얻을 수있는 방법이 있나요 사용자가 HTML을 삽입하지 않았습니까? 물론, 난 그냥<textarea></textarea>
를 사용할 수 있습니다 ... 그리고 그게 내가 할 방법에 매우 유사한 행동 않는다, 그러나, 나는 같은는 엄격하게 "텍스트 전용"입력을 원하지 않는 I Javascript를 사용하여 편집 가능한 요소에서 HTML을 추가 및 수정합니다.
필자는 사용자 유형에 따라 모든 HTML을 계속 스트립하는 것으로 생각했지만, 내가 만든 특수 클래스가있는 HTML 만 허용하도록했습니다. 그러나 그것은 훌륭한 해결책처럼 보이지 않습니다. wrap='soft'
또는 다른 말로 표현할 수있는 코드가 있습니까? "HTML 작성을 중단하고 요소를 추가하지 마세요."
Heh heh, 나는 WYSIWYG 편집기를 만들었습니다. 의도적 인 경우 대부분 사용자의 HTML 삽입에 신경 쓰지 않습니다 (예제에서와 같이). HTML을 괴롭히는'[Enter]'이유는'[Enter]'를 치지 않는 것을 기억하기가 대단히 어렵고 브라우저들간에 일관성이 없기 때문입니다. – brentonstrine