강좌 & 팁
[JQuery] MouseEvent
일반적인 html 코드 상에서 마우스 이벤트를 거는건 조금 귀찮은 작업이었습니다. 코드 사이에 마우스 이벤트를 집어넣고 함수와 연결을 하는게 가독성이 떨어져 보기에도 안 좋았습니다. 그러던 중 JQuery가 나와서 구현하기에 좀더 간단해졌습니다.^^
예전에 클릭하고자 하는 객체가 있을 때, <a href> 로 감싸거나 아래와 같이 표현했습니다.
<button onmousedown="특정함수()">Click!!!</button>
마우스를 눌렀을 때 onmousedown, 마우스를 떼었을 때 onmouseout, 마우스가 객체 위로 올라갔을 때 onmouseover 등.. 모든 내용을 표현할 경우 내용이 길어져서 보기에도 별로 안 좋았습니다.
JQuery에서는 마우스 이벤트가 어떻게 사용되는지 살펴보도록 하겠습니다.
1. 샘플 예제
테스트를 하기 위해 아래와 같이 예제를 만들었습니다.
<html>
2. mousedown()
mousedown는 객체 위에 마우스를 올리고 버튼을 눌렀을 때 발생하는 이벤트 입니다.
위의 샘플 내용 중 버튼의 id 가 btnClick 이므로 적용해보도록 합니다. 아래와 같이 코드를 작성할 수 있습니다.
$('#btnClick').mousedown(function() {
btnClick 이라는 ID 라는 객체를 눌렀을 때, alert 이라는 팝업창이 뜨게 하였습니다.
3. click()
click은 mousedown 이벤트와 같은 역할을 합니다.
$('#btnClick').click(function() {
Click 이벤트는 마우스 클릭만을 필요로 할 때 씁니다. 아래에서 설명할 mouseover, mouseup과 사용할 때는 click 보다 mousedown을 쓰는게 보기에 더 명확해집니다.
4. dblclick()
click은 double click 이벤트로 마우스 버튼을 빠르게 두 번 눌러야 발생하는 이벤트 입니다.
$('#btnClick').dblclick(function() {
5. mouseup()
mouseup는 마우스 포인터가 객체 위에 있다가 마우스를 눌렀다 뗐을 때, 발생하는 이벤트입니다.
$('#btnClick').mouseup(function() {
6. mouseover()
mouseover 는 객체를 마우스로 클릭하지 않고 마우스 포인터를 객체 위에 올릴 때 발생하는 이벤트입니다.
예를 들어 홈페이지 메뉴 위에 마우스를 올릴 때, 클릭을 하지 않았는데도 이미지가 변경되는게 mouseover 이벤트가 적용된 것입니다.
$('#btnClick').mouseover(function() {
^ㅇ^!!!
마우스 이벤트의 함수 구분을 분리할 수 있어서 소스를 간결하게 쓸 수 있습니다.
|