반응형
아래 소스 코드는 입력 필드에 포커스 이벤트를 추가하고, 포커스 이벤트에 따라 스타일을 변경하고 다음 입력 필드로 포커스를 이동하는 예제입니다.
소스코드
$('input').focus(function() { ... });
- 모든 <input> 요소에 대해 포커스 이벤트를 추가합니다. 포커스가 들어온 경우, 해당 입력 필드의 배경색을 'lavenderblush'로 변경합니다.
$('input').blur(function() { ... });
- 입력 필드에서 포커스가 빠져나간 경우, 입력 필드의 배경색을 원래대로 돌리기 위해 스타일을 초기화 합니다.
$('input').keypress(function(e) { ... });
- 입력 필드에서 키보드 이벤트를 감지합니다. Enter 키 가 눌린 경우, 다음 input 필드로 포커스를 이동합니다.
$('#NewPassword').on('input', function() { ... });
- #NewPassword 입력 필드에서 입력 이벤트를 감지하고, 현재 포커스된 입력 필드의 ID를 콘솔에 출력합니다.
<script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>
<script>
$(document).ready(function () {
$('input').focus(function() {
// 포커스가 들어온 입력 필드 스타일 변경
$(this).css('background-color', 'lavenderblush');
}).blur(function() {
// 포커스가 빠져나간 입력 필드 스타일 원래대로 변경
$(this).css('background-color', '');
});
$('input').keypress(function(e) {
var id = $(':focus').attr('id');
if (e.keyCode == 13) {
e.preventDefault();
$(this).closest('div.inputBox').next().find('input').focus(); // 다음 inputBox에서 다음 입력 필드로 포커스 이동
}
});
$('#NewPassword').on('input', function() {
var id = $(':focus').attr('id');
console.log(id);
});
});
function maxLengthChk(object){
if (object.value.length > object.maxLength){
object.value = object.value.slice(0, object.maxLength);
}
}
</script>
<div class="inputBox">
<label for="password">현재 비밀번호</label>
<input type="password" name="OldPassword" id="OldPassword" maxlength="16" oninput="maxLengthChk(this)" placeholder="현재 비밀번호를 입력하세요">
</div>
<div class="inputBox">
<label for="password">새로운 비밀번호</label>
<input type="password" name="NewPassword" id="NewPassword" maxlength="16" oninput="maxLengthChk(this)" placeholder="새로운 비밀번호를 입력하세요">
</div>
<div class="inputBox">
<label for="rePassword">새로운 비밀번호 재입력</label>
<input type="password" name="certainPassword" id="certainPassword" maxlength="16" oninput="maxLengthChk(this)" placeholder="비밀번호를 한번 더 입력하세요">
</div>
focus 이벤트를 잘 활용 하셔서 웹 페이지의 효율성을 높여 줄 수 있습니다.
반응형
'개발이야기 > jQuery' 카테고리의 다른 글
[jQuery] jqGrid header colNames 색상 변경하기 (header 테이블 스타일 수정) (0) | 2023.08.31 |
---|---|
[jQuery] 영문, 숫자, 한글, 특수문자 정규식 입력 체크 (영문 숫자만, 한글만, 영문 숫자 특수문자 조합) (1) | 2023.08.21 |
[jQuery] UI Sortable 사용하기 (드래그 앤 드롭, 순서변경, 리스트 이동 정렬) (0) | 2023.08.16 |
[jQuery] 상위 요소 찾는 closest() 함수 사용법, 예제 (스타일 변경, 이벤트 추가) (0) | 2023.08.11 |
[jQuery] 하위 요소 찾는 find() 함수 사용법, 예제 (스타일 변경, 이벤트 추가) (0) | 2023.08.10 |
댓글