댓글 textarea 에서 enter 이벤트 발생 시 submit 질의
CMS/프레임워크 | Rhymix 2.0 |
---|---|
개발 언어 | PHP 7.4 |
현재 댓글창에서 textarea 만 강제 사용중이며 에디터 모드는 접근되지 않게 구현해두었습니다.
textarea 에서 내용 입력 후 enter 키 입력시 submit 되게 하고 싶어 구글에서 찾아본 결과
https://way-be-developer.tistory.com/244 꽤나 신뢰되는 정보라 참고하여 작업중입니다.
<script>
function submitTextarea(event) {
let key = event.key || event.keyCode;
if ((key === 'Enter' && !event.shiftKey) || (key === 13 && key !== 16)) {
setTextareaReplace();
return false;
}
}
let textarea = document.getElementById('temp_{$oDocument->document_srl}');
textarea.addEventListener('keydown', event => submitTextarea(event));
</script>
하지만 textarea 바로 아래 스크립트를 추가하여도 작동하지 않는데 어디를 어떻게 손봐야 할까요...
html 은 수박 겉핥기로 배운 지식으로 수정하여 사용할수 있겠는데 스크립트는 너무 어렵네요 ㅠㅠ
aierfcgbhn
Lv. 2
댓글 5
setTextareaReplace() 는 어디에 선언되어 있나요? PS: (key === 13 && key !== 16) 는 13이면서 16이 아닌 것이란 것을 구현하려는 의도였나요?
아무튼 엔터키 쳤는데 submit되어버리면 사용자들 많이 당황하겠네요~.
13이 아마 엔터고 16이 shift 키인것 같습니다.
setTextareaReplace() 는 submit 버튼의 onclick 부분에 작성되어 있었습니다.
버튼에 이미 붙어 있는 기능을 다른 곳에 그대로 옮기려고 하기보다는,
엔터키를 치면 버튼을 자동으로 클릭하도록 처리하는 편이 더 쉬울 것 같습니다.
나머지는 버튼에 붙어 있는 onclick 이벤트가 알아서 하겠지요.
엔터치면 등록되는것에도 약간의 불만이 생길것 같기도 하구요