change 전의 값을 가져오기

by 조쉬 posted Mar 26, 2021
?

단축키

Prev이전 문서

Next다음 문서

ESC닫기

크게 작게 위로 아래로 댓글로 가기 인쇄

보통 selectbox를 사용하다 보면 해당 값이 바뀌기 전의 값으로 되돌리는 기능이 필요할 때가 있다.

이럴때는, 해당 오브젝트에 focus()이벤트가 발생했을때 값을 미리 저장해 놓으면 가능하다.

<script type="text/javascript" src="http://code.jquery.com/jquery-latest.js"></script>
<script type="text/javascript">
aa = '';
$(function(){
 setTimeout("window.self.focus();", 1000 );

 $('#dd').focus( function(){
  aa = $(this).val();
 }).change(function(){
  $('#dd').trigger( "blur");
  $('#test').append( "before value : "+ aa +"<br>");
 });
});

</script>

<select id='dd'>
<option value=1>1</option>
<option value=2>2</option>
<option value=3>3</option>
</select>

<div id='test'></div>
 
 

하지만, 보통 한번 focus를 가진 상태에서 여러번 값을 바꿀수도 있다.
이럴땐, trigger()를 이용해서 강제로 해당 오브젝트에서 blur를 실행시켜 주어야, 다시 focus()이벤트가 일어나게 하는 편법을 사용하면 된다.