Html & Script

readonly 입력 필드 더블클릭시 수정할 수 있게 하기

컨텐츠 정보

본문

HTML <input> 요소에 readonly 속성이 설정되어 있으면 기본적으로 사용자가 해당 입력 필드를 수정할 수 없습니다. 하지만 더블 클릭 이벤트를 통해 readonly 속성을 제거하고 수정할 수 있게 할 수 있습니다. 


입력 필드를 수정한 후 포커스가 아웃될 때 readonly 속성을 다시 추가하는 기능을 구현하기 위해서는 blur 이벤트를 사용하면 됩니다. 

아래에 jQuery를 사용하여 이 기능을 추가한 예제를 제공합니다.


<!DOCTYPE html>

<html lang="ko">

<head>

    <meta charset="UTF-8">

    <meta name="viewport" content="width=device-width, initial-scale=1.0">

    <title>Double Click to Edit with jQuery</title>

    <!-- jQuery 라이브러리 로드 -->

    <script src="https://code.jquery.com/jquery-3.6.0.min.js"></script>

    <script>

        $(document).ready(function(){

            // 더블 클릭시 readonly 속성을 제거하는 기능

            $("#editableInput").dblclick(function(){

                $(this).prop("readonly", false);

            });


            // 포커스 아웃될 때 readonly 속성을 추가하는 기능

            $("#editableInput").blur(function(){

                $(this).prop("readonly", true);

            });

        });

    </script>

</head>

<body>

    <input type="text" id="editableInput" value="더블 클릭하여 수정" readonly>

</body>

</html>



이 코드는 다음과 같은 기능을 수행합니다:

  1. HTML 문서에 ideditableInput<input> 요소를 정의합니다.
  2. jQuery를 사용하여 문서가 준비되면 dblclick 이벤트 리스너를 editableInput 요소에 추가하여 더블 클릭 시 readonly 속성을 제거합니다.
  3. blur 이벤트 리스너를 editableInput 요소에 추가하여 입력 필드에서 포커스가 아웃될 때 readonly 속성을 다시 추가합니다.

이 코드를 사용하면 사용자가 입력 필드를 더블 클릭하여 readonly 속성을 제거하고 입력 필드를 수정할 수 있으며, 수정이 끝난 후 입력 필드에서 포커스가 아웃되면 readonly 속성이 자동으로 다시 추가됩니다.



관련자료

댓글 0
등록된 댓글이 없습니다.
Today's proverb
행복해지고 싶다면, 잠시 동안만이라도 가슴에 손을 얹고 생각해 보라. 그러면 진정한 즐거움은, 발치에 돋아나는 잡초나 아침 햇살에 빛나는 꽃의 이술과 같이 우리 주변에 무수히 널려 있다는 것을 알 수 있을 것이다. 《하루 5분 생각이 인생을 결정한다 》 (이범준)