HTML/JavaScript로 터미널 창을 만들고 입력 용 텍스트 영역을 사용하고 있습니다. 텍스트 영역의 텍스트 섹션이 삭제되지 않도록하고 싶습니다. 예를 들어, "C : \> Random Code"텍스트 영역에 텍스트가있는 경우 사용자가 "C : \>"텍스트를 삭제하지 못하도록하고 싶습니다. 자바 스크립트를 사용하여 가능합니까?HTML 텍스트 영역에서 일부 텍스트가 삭제되지 않습니다.
답변
텍스트 영역의 섹션을 편집 할 수 없게 만들 수 없습니다 (전체 컨트롤 만). 당신은 다양한 자바 스크립트 속임수를 사용할 수 있습니다
(키 누르기 이벤트를 듣고 사용자가 허용 할 않는 무언가를하고자하는 경우에서는 event.preventDefault를 사용하여 이벤트를 취소)
또 다른 해결책은 대신있는의에있다 사용자 입력에 미리 정의 된 문자열을 자동으로 추가 (또는 앞에 붙이기)하고 (어떤 방식 으로든 사용자를 위해 자주 표시)
업데이트 :
그래서, 내 솔루션은 다음과 같을 것이다 :
에는 텍스트 범위를 선택하지 않은 경우GetSelectionStart
선택한 텍스트 (또는 캐럿 위치의 시작을 알려주는 기능이다
var requiredText = 'C:>';
$('textarea').on('keyup',function(event) {
if (GetSelectionStart(this) < requiredText.length){
event.preventDefault();
event.stopPropagation();
}
}
). 가능한 구현에 대해서는 e. 지. Caret position in textarea, in characters from the start
이 함수는 requiredText가 항상 문자열의 시작 부분에 있다고 가정합니다. 물론 더 복잡한 시나리오에도 적용 할 수 있습니다. 거기에 바로 다시 자신을 추가합니다 : (사용자가 삭제하려고 즉) : jQuery를 가정
,이 스크립트는 키 입력을 수신하며, 필요한 텍스트 중 하나를 찾을 수없는 경우
var requiredText = 'C:>';
$('textarea').on('input',function() {
if (String($(this).val()).indexOf(requiredText) == -1) {
$(this).val(requiredText);
}
}
와우 아주 좋습니다! 나는 결코 이런 식으로 indexOf를 사용할 수 없었다! 이것은 시원하고 유용합니다. 감사! – Sebastien
이 코드는 requiredText가 입력 텍스트에 있는지 만 확인합니다. 그러나, 1.) 텍스트는 requiredText로 시작한다. (이 경우 필요하다.) 2.) 사용자 입력을 파기 할 수있다. e. 지. "C :> somefolder/somefile.txt"는 입력 값입니다. 사용자가 ":>"=> 텍스트 영역의 새 값을 "C :>"로 삭제합니다. 사용자의 관점에서 볼 때 이것은 정말 실망 스러울 수 있습니다. –
- 1. 텍스트가 텍스트 영역에서 겹쳐졌습니다.
- 2. 텍스트의 텍스트가 왜 삭제되지 않는가?
- 3. 정리 도중 작업 영역에서 파일이 삭제되지 않습니다
- 4. 텍스트 영역에서 Html 태그 제거
- 5. 텍스트 영역에서 HTML 이스케이프 방지
- 6. PHP HTML 텍스트 영역에서 텍스트 분할
- 7. 플래시 HTML 텍스트가 표시되지 않습니다.
- 8. MSI 제거로 일부 파일이 삭제되지 않습니다.
- 9. 페이지의 일부 영역에서 $ _GET이 작동하지 않습니다.
- 10. 텍스트 영역에서 .html() 또는 .text() 가져 오기
- 11. '안전'필터가 텍스트 영역에서 작동하지 않습니다 - django
- 12. 텍스트가 텍스트 영역에서 제거 된 후 jquery를 사용하여 텍스트를 텍스트 영역으로 복사 할 수 없습니다.
- 13. 텍스트가 자바 스크립트의 텍스트 영역에서 변경 될 때까지 커서를 멈춤니다.
- 14. 텍스트가 표에 맞지 않습니다. - HTML
- 15. 일부 장치에서는 TextView 텍스트가 줄 바꿈되지 않습니다
- 16. 텍스트 영역에서 선택한 텍스트 얻기
- 17. CSS/HTML 텍스트가 바뀌지 않습니다.
- 18. JQuery : .val()이 텍스트 영역에서 작동하지 않습니다.
- 19. 텍스트 영역에서 줄 바꿈이 작동하지 않습니다.
- 20. 텍스트 영역에서 백 스페이스가 작동하지 않습니다.
- 21. 텍스트 영역에서 스크롤 사용 안함
- 22. 텍스트가 HTML 각도로 표시되지 않습니다.
- 23. ckeditor 4.3에서 선택된 텍스트가 삭제되지 않도록 방지합니다.
- 24. 일부 텍스트 숨기기 html, css, javascript
- 25. 텍스트가 텍스트 필드에 나타나지 않습니다.
- 26. 텍스트 태그의 텍스트가 손상되지 않습니다.
- 27. HTML, PHP. 확인 (변경) 라디오 버튼의 텍스트 영역에서 텍스트 변경
- 28. html - 텍스트 영역에서 래핑 된 텍스트 가져 오기
- 29. html 페이지의 TextArea에 입력 한 텍스트가 텍스트 파일에 저장되지 않습니다.
- 30. jquery 힌트가 텍스트 영역에서 작동하지 않습니다
어쩌면 당신은 콘텐츠의 길이를 확인하기 위해 textarea의 onchange 이벤트를 사용할 수 있습니다. 그 다음에 콘텐트가 더 작고 콘텐트가 "C :>"로 시작한다면 당신은 문자열을 대체합니까 ??? – Sebastien