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
이슬비가 내리고 있다. 당신은 밖에 나가서 우산을 편다. 그것으로 충분하다.“구질구질하게 또 비가 오는군!” 이런 말을 한들 무슨 소용이 있는가. 비도, 구름도, 바람도 결코 마음대로 되지 않는데 어째서 “비 한번 시원스럽게 내리는군”하고 말하지 못하는가. <<날마다 행복해지는 255가지 이야기>> (알랭)