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
해가 들면 어떻고, 바람이 불면 어떻고, 눈이 오면 어떠랴. 해가 들어주어도 고맙고, 바람이 불어주어도 고맙고, 눈이 와주어도 고마울 뿐. 그렇다, 고맙지 않은 것이 없다. 밤은 밤이어서 고맙고, 새벽은 새벽이어서 고맙고, 낮은 낮이어서 고맙다. 아, 고마운 삼라만상이여! (정채봉)