jQuery 이벤트
jQuery 이벤트
이벤트란 무엇인가요?
다양한 방문자에 대한 페이지의 반응을 이벤트라고 합니다.
이벤트 핸들러는 HTML에서 특정 이벤트가 발생할 때 호출되는 메서드를 참조합니다.
예:
요소 위로 마우스를 이동하세요. 라디오 버튼 클릭 요소 선택
"트리거"(또는 "실행")라는 용어는 "키를 누를 때 키 누르기 이벤트가 실행됩니다"와 같은 이벤트에서 자주 사용됩니다.
이벤트 목록.
1.blur() 포커스가 손실되었을 때 트리거됩니다. 마우스 클릭을 포함하여 나가고 Tab 키를 눌러 나가세요.
2.change() 요소가 포커스를 얻었을 때 값이 변경되어 포커스를 잃었을 때 트리거됩니다.
3.click() 마우스를 클릭하면 실행됩니다.
4.dblclick() 마우스를 두 번 클릭하면 트리거됩니다.
5.error() JavaScript 오류가 발생하거나 img의 src 속성이 유효하지 않을 때 실행됩니다.
6.focus() 요소가 포커스를 받으면 실행됩니다. 참고: 일부 개체는 지원되지 않습니다.
7.focusin() 요소 또는 그 하위 요소가 포커스를 얻을 때 트리거됩니다. focus()와의 차이점은 내부 하위 요소가 포커스를 얻을 때를 감지할 수 있다는 것입니다.
8.focusout() 요소 또는 그 하위 요소가 포커스를 잃을 때 트리거됩니다. focusout()과의 차이점은 내부 하위 요소가 포커스를 잃을 때를 감지할 수 있다는 것입니다.
9.keydown() 키보드를 눌렀을 때 트리거됩니다.
10.keyup() 키를 놓으면 실행됩니다.
11.mousedown() 요소에서 마우스를 클릭하면 실행됩니다.
12.mouseenter() 마우스가 요소 위로 지나갈 때 실행됩니다. mouseenter와 mouseover의 차이점은 마우스가 mouseover의 하위 요소 위로 지나갈 때도 트리거되지만 mouseenter는 그렇지 않다는 것입니다.
13.mouseleave() 마우스가 요소 밖으로 이동할 때 실행됩니다.
14.mousemove() 마우스가 요소 위로 움직일 때 실행됩니다. .clientX 및 .clientY는 각각 마우스의 X 좌표와 Y 좌표를 나타냅니다.
15.mouseout() 마우스가 요소에서 멀어지면 실행됩니다.
16.mouseover() 마우스가 요소 안으로 이동할 때 실행됩니다.
17.mouseup() 마우스 왼쪽 버튼을 눌렀다가 떼면 실행됩니다.
18.resize() 브라우저 창 크기가 변경되면 실행됩니다. $(window).resize();
19.scroll() 스크롤 막대가 변경되면 시작됩니다.
20.select() 입력 내용이 선택되면 실행됩니다.
21.submit() 선택한 양식을 제출하세요.
22.unload() 페이지가 언로드될 때 트리거됩니다.
jQuery 이벤트 메서드 구문
jQuery에서 대부분의 DOM 이벤트에는 동등한 jQuery 메서드가 있습니다.
페이지에서 클릭 이벤트를 지정합니다:
$("p").click();
다음 단계는 이벤트가 트리거되는 시기를 정의하는 것입니다. 이벤트 함수를 통해 이를 달성할 수 있습니다:
$("p").click(function(){ // 작업이 트리거된 후 코드가 실행됩니다!!});
일반적으로 사용되는 jQuery 이벤트 메서드
$(document).ready()
$(document).ready() 메서드를 사용하면 문서가 완전히 로드된 후 함수를 실행할 수 있습니다. 이 이벤트 메서드는 jQuery 구문 장에서 언급되었습니다.
click()
click() 메서드는 버튼 클릭 이벤트가 트리거될 때 호출되는 함수입니다.
이 함수는 사용자가 HTML 요소를 클릭할 때 실행됩니다.
아래 예에서는 <p> 요소에서 클릭 이벤트가 실행되면 현재 <p> 요소가 숨겨집니다.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"> </script> <script> $(document).ready(function(){ $("p").click(function(){ $(this).hide(); }); }); </script> </head> <body> <p>点我我就不见了!</p> <p>我们三个都是的!</p> <p>他们说的是真的!</p> </body> </html>
dblclick()
dblclick 이벤트는 요소를 두 번 클릭할 때 발생합니다.
dblclick() 메서드는 dblclick 이벤트를 트리거하거나 dblclick 이벤트가 발생할 때 실행할 함수를 지정합니다.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"> </script> <script> $(document).ready(function(){ $("p").dblclick(function(){ $(this).hide(); }); }); </script> </head> <body> <p>双击鼠标左键的,我就消失。</p> <p>双击我也消失!</p> <p>双击我也是!</p> </body> </html>
mouseenter(), mouseover() 비교:
<html> <meta charset="utf-8"> <head> <script type="text/javascript" src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"></script> <script type="text/javascript"> x=0; y=0; $(document).ready(function(){ $("div.over").mouseover(function(){ $(".over span").text(x+=1); }); $("div.enter").mouseenter(function(){ $(".enter span").text(y+=1); }); }); </script> </head> <body> <p>不论鼠标指针穿过被选元素或其子元素,都会触发 mouseover 事件。</p> <p>只有在鼠标指针穿过被选元素时,才会触发 mouseenter 事件。</p> <div class="over" style="background-color:lightgray;padding:20px;width:40%;float:left"> <h2 style="background-color:white;">被触发的 Mouseover 事件:<span></span></h2> </div> <div class="enter" style="background-color:lightgray;padding:20px;width:40%;float:right"> <h2 style="background-color:white;">被触发的 Mouseenter 事件:<span></span></h2> </div> </body> </html>
mouseleave()
는 마우스 포인터가 발생할 때 발생합니다. 요소 mouseleave 이벤트를 종료합니다.
mouseleave() 메소드는 mouseleave 이벤트를 트리거하거나 mouseleave 이벤트가 발생할 때 실행할 함수를 지정합니다.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"> </script> <script> $(document).ready(function(){ $("#p1").mouseleave(function(){ alert("再见,您的鼠标离开了该段落。"); }); }); </script> </head> <body> <p id="p1">这是一个段落。</p> </body> </html>
mousedown()
mousedown 이벤트는 마우스 포인터가 요소 위로 이동하고 마우스 버튼을 누를 때 발생합니다. .
mousedown() 메서드는 mousedown 이벤트를 트리거하거나 mousedown 이벤트가 발생할 때 실행할 함수를 지정합니다.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"> </script> <script> $(document).ready(function(){ $("#p1").mousedown(function(){ alert("鼠标在该段落上按下!"); }); }); </script> </head> <body> <p id="p1">这是一个段落</p> </body> </html>
mouseup()
mouseup 이벤트는 요소에서 마우스 버튼을 놓을 때 발생합니다.
mouseup() 메서드는 mouseup 이벤트를 트리거하거나 mouseup 이벤트가 발생할 때 실행할 함수를 지정합니다.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"> </script> <script> $(document).ready(function(){ $("#p1").mouseup(function(){ alert("鼠标在段落上松开。"); }); }); </script> </head> <body> <p id="p1">这是一个段落。</p> </body> </html>
hover()
hover() 메서드는 커서 호버 이벤트를 시뮬레이션하는 데 사용됩니다.
마우스가 요소 위로 이동하면 지정된 첫 번째 기능(mouseenter)이 실행되고, 마우스가 요소 밖으로 이동하면 지정된 두 번째 기능(mouseleave)이 실행됩니다.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"> </script> <script> $(document).ready(function(){ $("#p1").hover(function(){ alert("你进入了 p1!"); }, function(){ alert("拜拜! 现在你离开了 p1!"); }); }); </script> </head> <body> <p id="p1">这是一个段落。</p> </body> </html>
focus()
요소가 포커스를 받으면 포커스 이벤트가 발생합니다.
마우스 클릭으로 요소를 선택하거나 탭 키로 위치를 지정하면 해당 요소에 초점이 맞춰집니다.
focus() 메서드는 포커스 이벤트를 트리거하거나 포커스 이벤트가 발생할 때 실행할 함수를 지정합니다.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"> </script> <script> $(document).ready(function(){ $("input").focus(function(){ $(this).css("background-color","#cccccc"); }); $("input").blur(function(){ $(this).css("background-color","#ffffff"); }); }); </script> </head> <body> Name: <input type="text" name="fullname"><br> Email: <input type="text" name="email"> </body> </html>
blur()
요소가 포커스를 잃으면 흐림 이벤트가 발생합니다.
blur() 메서드는 흐림 이벤트를 트리거하거나 흐림 이벤트가 발생할 때 실행할 함수를 지정합니다.
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>php中文网(php.cn)</title> <script src="http://libs.baidu.com/jquery/1.10.2/jquery.min.js"> </script> <script> $(document).ready(function(){ $("input").focus(function(){ $(this).css("background-color","#cccccc"); }); $("input").blur(function(){ $(this).css("background-color","#ffffff"); }); }); </script> </head> <body> Name: <input type="text" name="fullname"><br> Email: <input type="text" name="email"> </body> </html>