왜 구체적으로 Textarea를 언급합니까? Textarea 노드는 실제로 매우 특별하기 때문입니다. 이 노드는 특별하기 때문에 IE 및 기타 브라우저에서 설명이 다릅니다.
팔 판매를 그만 두십시오, 하하! 사실, 주된 이유는 오늘 선임 형제가 오늘 버그를 수리하는 데 도움이 되었기 때문입니다. 구체적으로, 서버에서 데이터를 가져 와서 Textarea에 삽입하지 못했습니다. 이 상황은 IE에서만 발생합니다. 다른 모든 브라우저는 정상입니다!
우선, Textarea Special은 왜입니까? 모든 형태의 플러그인에서 Textarea의 값은 두 개의 열린 태그와 닫힌 태그 사이에 쓰여 지므로 그 값은 TextArea에 고유 한 DOM의 관점에서 텍스트 노드로 간주 될 수 있습니다. 이 기능으로 인해 InnerHTML 값을 수정하면 텍스트의 텍스트를 변경할 수 있습니다. IE는이 작업을 지원하지만 한 가지를 허용하지 않습니다. 일부 HTML 태그를 동적으로 삽입하십시오.
실험을 할 수도 있습니다.
value 또는 innertext 대신 innerHTML 속성을 사용하여 js를 통해 HTML 코드를 삽입하십시오.
IE9+를 테스트하지는 않았지만 IE6, 7 및 8은 오류를보고합니다.
보안상의 이유로 인해 JS는 HTML을 TextRea에 동적으로 삽입 할 수 없지만 신중한 사람들은 HTML 코드를 수동으로 입력하면 TextArea를 수용 할 수 있음을 찾을 수 있습니다. 나는 이것이 실제로 캐릭터 탈출과 같은 과정을 겪었다 고 생각합니다. 예, 이것이 수동 HTML 코드가 성공한 유일한 이유입니다.
따라서 내 생각에, 많은 브라우저 Textareas는 HTML 디스플레이를 지원하지 않기 때문에 JS를 작동 할 때 왜 내부 html 속성을 사용해야합니까? 다시 말해, HTML 코드와 함께 값이 있거나 innerhtml이있는 html 코드를 삽입하든, 구문 분석 및 표시되지 않으므로 Textarea 대신 풍부한 텍스트 편집기가 나타납니다). 그렇다면 텍스토리의 가치를 설정하기 위해 가치를 사용하지 않겠습니까?
따라서 Textarea의 가치를 설정하는 것은 InnerHTML을 통해 이루어져서는 안된다고 생각하지만 (물론 Firefox로 인해 내부 텍스트가되는 것은 훨씬 더 불가능합니다) 값을 통해 설정해야합니다. 이것은 개발자가주의를 기울여야 할 것입니다. 최근에 항상 InnerHTML을 사용하는 어린이 신발 코드를 읽었 기 때문에. 사실, 나는 이것이 모든 경우에 관한 것이라고 생각합니다.