return false 활용
본문 바로가기

Frontend/모던자바스크립트

return false 활용

스페이스바를 입력하지않게하거나 특정 기호를 막고싶을때가 있다.

이때 keycode를 활용하면 좋은데 아래와같은 예시를 참고하면 좋다.

 

이벤트리스너를 사용할경우 입력이 되고나서 return false처리되는바람에 애먹었는데

onKeydown으로 변경하니 잘 작동하였다.

 

function detectMinus(){
  const ninusDetect = document.querySelectorAll('#voteInput')
  ninusDetect.forEach(each => {
    each.onkeydown = function(e) {
      if(!((e.keyCode > 95 && e.keyCode < 106)
        || (e.keyCode > 47 && e.keyCode < 58) 
        || e.keyCode == 8)) {
          return false;
      }
    }
  })
}
detectMinus()

 


const detectSpace = (e) => {
    if(e.key == ' ' || e.code == 'Space' || e.keyCode == 32){
        return false
    }else{
        return true
    }
}

//사용방법 1. html내
<input type="text" name="name" id="name" value="${name}" onkeydown="if(!valueCheck(event))return false;">

//사용방법 2. 이벤트
if(nameInput)nameInput.onkeydown = (e) =>{
    if(!detectSpace(e)){
        return false
    }
}

https://stackoverflow.com/questions/18780304/javascript-disable-space-key-for-change-password-textboxes

반응형