이벤트 트리거

Seungmin Lim·2022년 1월 25일
0

JavaScript

목록 보기
40/41

Trigger : 유발자, 방아쇠
위 설명처럼 dispatchEvent()를 통해 span을 파일 버튼으로 사용할 수 있다.

HTML

    <section id = "section5">
        <h1>Ex5- 이벤트 트리거</h1>
        <style>
            .file-button{
                display:none; //input의 파일선택버튼 숨김.
            }
            .file-trigger-button{
                background-color: blue;
                border: 1px solid deepskyblue;
                border-radius: 5px;

                padding: 5px 10px;
                cursor: pointer;
            }
            .file-trigger-button:hover{
                background-color: lightblue;
            }
        </style>
        
        <input type = "file" class = "file-button">
        <span class = "file-trigger-button">파일선택</span>
    </section>
    <hr />

JavaScript

//Ex5- Trigger
window.addEventListener("load", function () {
    var section = document.querySelector("#section5");
    var fileButton = section.querySelector(".file-button");
    var fileTriggerButton = section.querySelector(".file-trigger-button");
    
    fileTriggerButton.onclick = function(){
        var event = new MouseEvent("click",{
            'view':window, //
            'bubbles':true, //버블링이 가능한지
            'cancelable':true //취소 가능한지
        });

        fileButton.dispatchEvent(event);
    }
});

fileTriggerButton이 이벤트를 전달시켜 fileButton에 event를 발생시킨다.

0개의 댓글