물론 표준 HTML 텍스트 상자를 사용할 수 있지만 어떤 이유로 든 텍스트 영역이 필요합니다.텍스트 영역의 여러 줄 옵션을 비활성화 할 수 있습니까?
그래서 텍스트 영역의 여러 줄 옵션을 비활성화 할 수 있습니까?
물론 표준 HTML 텍스트 상자를 사용할 수 있지만 어떤 이유로 든 텍스트 영역이 필요합니다.텍스트 영역의 여러 줄 옵션을 비활성화 할 수 있습니까?
그래서 텍스트 영역의 여러 줄 옵션을 비활성화 할 수 있습니까?
에서 더 자세한 정보를 얻을 수있는 cols
및 rows
속성을 사용하고 CSS에서 크기를 조절할 수 없도록 설정하지만 사용자가 두 줄 이상을 추가 할 수는 없습니다. 영역이 너무 작아도 스크롤바가 나타나서 원하는만큼 많은 행을 쓸 수 있습니다.
실제로 한 줄만 가져 오려면 rows
특성을 1로 설정하고 입력에 Javascript가있는 단일 행이 있는지 확인하는 것이 좋습니다. HTML에서
:
<textarea name="a" cols="5" rows="1" ></textarea>
CSS에서 : 아직도
textarea{
resize: none;
#You can use resize: horizontal if you just want to disable vertical resize
}
, 나는 <input type="text" ... />
왜 당신이 그것을 피하려고합니까 사용하는 것이 좋습니다 것?
당신은 사용하여 텍스트 영역의 크기를 설정할 수 있습니다을 해제 할 수 없습니다에 rows
속성을 설정할 수 있습니다이 link
이것은 OP의 유스 케이스는 아니지만 기본 리치 단일 행 입력을 작성할 때이 문제에 부딪혔습니다 (텍스트 상자 내에서 특정 단어 또는 단어 그룹의 스타일을 허용). 이를 위해 스타일이 지정된 div를'pointer-events : none; '으로 겹쳐 봤습니다. 스크롤의 입력과 동기화되도록 (사용자가 가장자리를 벗어날 때) 스크롤 이벤트를 수신해야합니다. 불행하게도, 텍스트 영역 만이 발사 할 것이다 (입력 거부). 따라서이 경우 입력을 피해야합니다. –
이것은 더 이상 작동하지 않는 것 같습니다. https://jsfiddle.net/73prdyze/ –
@NicolaeSurdu 어떻게 그렇게됩니까? 당신이 연결 한 바이올린은 내가 설명한대로 정확하게 작동하는 것 같습니다. Chrome 및 Edge 이상. – toniedzwiedz
다음 jQuery 스 니펫은 텍스트 영역을 강제로 한 줄에 표시합니다.
$(document).ready(function(){
$('textarea').each(function(){$(this).attr('rows', 1);});
});
당신은 텍스트 영역에 다음 CSS를 적용 한 후 다른 답변이 제안처럼
<textarea>
에 설정
rows="1"
하여 한 줄에 모든 텍스트를 유지하고 있습니다
:
resize: none;
white-space: nowrap;
overflow-x: scroll;
이를 CSS는 단일 행이 줄 바꿈되는 것을 방지하면서 스크롤 바를 제공하여 표시 영역을 오버 플로우하는 텍스트를 탐색함으로써 전체 행을 계속 볼 수 있도록합니다.
경고 : 'white-space : nowrap'를 사용하는 경우에도 1 줄에 모든 내용이 표시됩니다 ('rows = "1"'또는 그 밖의 경우), 사용자가 텍스트 상자에 입력 할 수있는 모든 문자를 표시합니다.이 문자는 표시되지 않는 캐리지 리턴을 포함합니다. – cusman
http://stackoverflow.com/questions/5424001/how-to-disable-multiline-input-being-dynamically-resized-by-user – vijaykumar