jQuery를 이용하면 이벤트를 연결하는 방법이 기존에 자바스크립트에서 이벤트를 연결 하는 것보다 편하게 이용할 수 있다.
메서드 이름 | 설명 |
on() | 이벤트를 연결한다. |
off() | 이벤트 연결을 제거한다. |
one() | 이벤트를 한 번만 연결한다. |
위의 3개의 메서드를 사용한다. 사용하지 않아도 문제는 없다.
<!DOCTYPE html> return false; |
이벤트를 발생시킨 객체를 찾을 때는 event.currentTarget을 사용한다. 또한 this 키워드 역시 사용할 수 있다. $('h1').click(100, function(event){} 에서 100은 data 값을 의미한다. $('body').click(function(){ $(this).css('background-color', 'orange') })로 인해 <h1>태그나 <a>태그를 눌러도 화면이 오렌지색으로 바뀌게 되는데 이것을 방지하게 위해 각각의 <h1>태그와 <a>태그에 event.stopPropagation(); 메서드를 넣어서 동시에 눌리는것을 방지 할 수 있다. 다른 방법으로는 jQuery에서는 return false를 입력하는 방법도 있다. <a> 태그 그러니까 앵커 태그의 기본 이벤트를 지우는 방법도 event.preventDefault();를 입력해 기본 이벤트를 지우는 방법이 있다.
이렇듯 구지 on() 메서드를 사용하지 않아도 이벤트를 연결할 수는 있으나, on() 메서드를 사용하면 좀더 편하게 연결이 가능하다.
<!DOCTYPE html> |
on() 메서드를 두 가지 방법으로 사용할 수 있다.
1. $(selector).on(eventName, function(event){})
2. $(selector).on(object)
jQuery를 사용하면 이벤트를 간단하게 연결할 수 있는 장점이 있다. 사실 $(document).ready()의 ready() 메서드 역시 이벤트이다. 기본적으로 jQuery에서 이벤트를 연결하는 기본 형태는 아래와 같다.
$(selector).method(function(event){}); |
기본 형태는 알아두어야 한다. 또한 이벤트의 이름(종류)은 이전에 자바스크립트에서 배웠던 부분을 참고하는게 좋다.
JavaScript - 이벤트 종류 : https://miyakita.tistory.com/119
이벤트의 연결을 제거하는 방법은 off() 메서드를 사용하는 것이다.
<!DOCTYPE html> |
off() 메서드는 아래와 같은 형태가 있다.
1. $(selector).off()
2. $(selector).off(eventName)
3. $(selector).off(eventName, function)
one() 메서드는 on() 메서드와 같은 형태를 가지고 있다.
jQuery의 메서드는 매개변수를 두개 입력할 수 있는데, selector 이외에도 context 매개변수도 넣을 수 있다. context 매개변수는 selector가 적용하는 범위를 한정할 수 있다. 일반적으로 이벤트와 같이 사용한다.
<!DOCTYPE html> |
특정 부분에 선택자를 적용하고 싶을 때 사용하는 것이 매개변수 context이다. 위의 코드는 <div> 태그를 클릭했을 때, 클릭한 <div> 태그 내부의 <h1> 태그와 <p> 태그가 가지는 내용을 출력 시킨다. click 이벤트가 발생한 문서 객체 안에서 <h1>, <p> 태그를 선택하고 싶을 때에는 this 키워드를 $() 메서드 안에 두 번째 매개변수로 넣어주면 된다. 범위를 이벤트 발생 객체로 한정하게 되어서 쉽게 이벤트 발생 객체 안에만 선택자를 적용할 수 있다.
'프로그래밍 공부 > jQuery' 카테고리의 다른 글
jQuery - 캔버스 애니메이션을 위한 틀 (0) | 2019.12.30 |
---|---|
jQuery - 효과 (0) | 2019.12.30 |
jQuery - 이벤트 下 (0) | 2019.12.27 |
jQuery - 문서 객체 조작 (0) | 2019.12.24 |
jQuery - jQuery 자바스크립트 라이브러리 (0) | 2019.12.23 |