강제 이벤트
: '이벤트가 강제로 발생했다' 는 말은 사용자에 의해 이벤트가 발생한 것이 아니라
이벤트 핸들러에 의해 이벤트가 자동으로 발생한 것을 의미한다.
브라우저가 실행되자마자 이벤트가 실행될 때 사용(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");