본문 바로가기

제이쿼리

[제이쿼리] - 강제 이벤트 만들기 trigger

강제 이벤트

: '이벤트가 강제로 발생했다' 는 말은 사용자에 의해 이벤트가 발생한 것이 아니라

이벤트 핸들러에 의해 이벤트가 자동으로 발생한 것을 의미한다. 

브라우저가 실행되자마자 이벤트가 실행될 때 사용(ex) 팝업창)

 

강제 이벤트는 단독 이벤트 메서드trigger이벤트 메서드를 사용해서 발생시킬 수 있다. 

 

[기본형]

 

1. 단독 이벤트 메서드로 강제 이벤트 만들기

$('이벤트 대상').이벤트명();

 

2.  trigger이벤트 메서드로 강제 이벤트 만들기

$('이벤트 대상').trigger('이벤트명');

 

이벤트 핸들러가 안에 들어가있지않으니깐 먼저 이벤트가 등록되어있어야 강제 이벤트를 쓸 수 있다. 

1. 이벤트 코드 등록 

2. 강제이벤트 코드 작성 ( 이벤트 적어놓은 것의 호출문이라고 생각하자 ) 


단독 이벤트 메서드로 강제 이벤트 발생 시키기 ) 

<div>
      <button type="button" class="btn1">버튼1</button>
    </div>
    <p>내용1</p>
    <div>
      <button type="button" class="btn2">버튼2</button>
    </div>
    <p>내용2</p>
 // 1. .btn1의 클릭 이벤트 등록
        $(".btn1").click(function () {
          $(".btn1").parent().next().css("background-color", "gold");
        });

        // 2. 강제로 .btn1의 클릭 이벤트 발생시키기
        $(".btn1").click();
 


rigger이벤트 메서드로 강제 이벤트 발생 시키기 ) 

// .btn2에 마우스오버, 포커스 이벤트 등록
        $(".btn2").on({
          "mouseover focus": function () {
            $(".btn2").parent().next().text("바뀐 내용");
          },
        });

        // 강제 이벤트 발생
        $(".btn2").trigger("mouseover");