JavaScript

[JavaScript] #28 - onlick / onchange/ onload / onkeypress / onkeydown 정리

yoonddo 2023. 3. 21. 01:07

onclick

버튼을 클릭했을 때 효과가 발생한다.

<input type="text" name="title" id="_title">
<button onclick="func()">클릭</button>

<script type="text/javascript">
function func() {
	var title_ = document.getElementsByName("title")[0].value;
	alert(title_);
}
</script>

 


onchange

내용이 변경되었을 때 효과가 발생한다.

함수의 Parameter 부분에 object 인 자기 자신을 쓰기 위해 this 를 사용하기도 한다.

<form>
	핸드폰 번호 입력
	T:<input type="text" size="5" maxlength="4" onchange="isPhoneNum(this)">
	-
	<input type="text" size="5" maxlength="4" onchange="isPhoneNum(this)">
	<br>
</form>

<script type="text/javascript">
function isPhoneNum( obj ) {
	var str = obj.value;

	// 숫자가 아닌 문자열이 포함되어 있는 경우를 check
	if(str.match( /[^0-9]/g )){	// 문자 포함시 ( ) 값이 참
		alert("문자가 포함되어 있습니다");
		obj.value = "";
	}
}
</script>

문자열 포함을 검사하고자 할 때 검사하려는 변수명.match( /[^0-9]/g ); 정규식을 사용해서 구별할 수 있다.

 


onload

페이지가 열리기 전에 읽어온다

<body>부분에 onload를 설정해주면 된다.

<body onload="check()">
<div id="demo">
//여기에 텍스트가 삽입된다.
</div>

<script type="text/javascript">
function check() {
	var text = "onload 실행";			// Page 가 열리기 전에 읽어온다.
	document.getElementById("demo").innerHTML = text;
}
</script>
</body>

onkeydown

key를 눌렀을 때 효과가 발생한다.

개발자 도구 - console 에서 확인할 수 있는데 값은 ASCII 값으로 표시되고 알파벳은 대문자로만 인지한다.

<input type="text" name="title" id="_title">
<script type="text/javascript">
document.getElementsByName("title")[0].onkeydown = function(event) {
	console.log('keydown = keycode : ' + event.keyCode);
}
</script>

onkeypress

key를 눌렀을 때 효과가 발생한다.

<input type="text" name="title" id="_title">
<script type="text/javascript">
document.getElementsByName("title")[0].onkeypress = function(event) {
	console.log('keydown = keycode : ' + event.keyCode);
}
</script>

 

셋의 차이점

  • onkeydown은 키를 눌렀을 때
    (shift, a;t, ctrl, caps lock 등 모든 키에 동작하지만 한영변환, 한자 등의 특수키는 인식하지 못한다.)
  • onkeyup은 키를 눌렀다가 뗐을 때
    (onkeydown에서 인식하는 키들과 같다)
  • onkeypress는 글자가 써질 때의 이벤트이다.
    (shift, alt, enter 등의 특수키는 인식하지 못하며 한글을 지원하지 않는다.)

 

 

 

 

 

 

 

 

 

 

 

 

 

 

자료 출처 : https://inpa.tistory.com/entry/JS-%F0%9F%93%9A-onclick-onchange-onload-onkeydown-onkeypress#onclick

'JavaScript' 카테고리의 다른 글

[JavaScript] #27 - Cookie  (0) 2023.02.08
[JavaScript] #26 - Ajax (jQuery)  (0) 2023.02.07
[JavaScript] #25 - jQuery란  (0) 2023.02.06
[JavaScript] #24 - 노드(Node)  (0) 2023.02.02
[JavaScript] #23 - 문자열 함수  (0) 2023.01.30