FlowerBombs

JQuery 이벤트 본문

Javascript & JQuery&Ajax

JQuery 이벤트

CitronLemon 2019. 2. 8. 10:59

javascript 9일차 요점정리


JQuery 이벤트 


  • 웹 브라우저가 HTMl요소를 인식한 후에 처리되어야 하므로 jQuery의 load 처리 안에서 정의한다.
  • 이벤트는 함수 형태로 정의되어 있고, 해당 이벤트가 발생한 경우 호출될 함수를 콜백 파라미터로 전달한다.
  • 콜백함수에는 이벤트의 정보를 갖는 e객체가 전달된다.

* 필요한 경우 이 객체를 선언하고 활용할 수 있다.

* e.preventDefault() 는 링크의 href 속성이나 폼의 submit 등에 대해서 HTMl 요소가 수행해야 하는 기본 동작을 차단하는 역할을 한다.


// jQuery의 load처리 안에서 정의
$(function() {
$("#foo").이벤트이름(function( [e ]) {
[e.preventDefault();]
});
});





주요 이벤트 종류


마우스 관련

이벤트 

기능 

click 

요소를 클릭시 동작한다 

mouseenter 

어떤 요소의 영역 안에 마우서 커서가 들어간 경우 호출된다. 

mouseleave 

어떤 요소의 영역 안에서 마우스 커서가 빠져나온 경우 호출된다. 

dblclick 

더블클릭 

hover

mouseenter + mouseleave 




hover 이벤트

hover 이벤트의 경우 마우스가 요소 안에 들어간 경우와 빠져나온 경우를 처리해야 하기 때문에 콜백함수가 두 개 설정되어야 한다.


// jQuery의 load처리 안에서 정의
$(function() {
$("#foo").hover(
function() {
... 마우스가 요소 안에 들어간 경우..
},
function() {
... 마우스가 빠져나온 경우..
}
);
});




키보드 관련

이벤트 

기능 

keydown 

버튼을 누르고 있는 동안 지속적으로 발생한다. 

keyup 

버튼을 눌렀다가 뗀 순간 발생한다.

한글을 지원하므로 대부분의 키 처리시 사용 권장 

keypress 

보드를 눌렀다가 떼는 동작을 1회로 처리한다.

한글인 경우 발생되지 않기 때문에 사용을 권장하지 않는다. 



keycode

  • 키보드에 부여된 일련번호.
  • 키 이벤트 발생시 이벤트 객체를 통해 전달된다.
  • 이 값을 사용하여 특정 버튼이 눌러진 경우를 판별할 수 있다.

// jQuery의 load처리 안에서 정의
$(function() {
$("#foo").keyup(function(e){
if (e.keyCode == 13) {
...엔터키가 눌러진 경우의 처리 ...
}
});
});




요소의 크기 조회

width(), height() 함수의 사용

특정요소의 크기

var w = $("#foo").width();
  var h = $("#foo").height();



웹 페이지 전체의 크기


var w = $(document).width();
var h = $(document).height();




브라우저의 크기

var w = $(window).width();
var h = $(window).height();



스크롤바의 위

var top = $(window).scrollTop();





반응형 기능

브라우저 크기에 반응하여 동작하는 함수를 정의하고 브라우저가 열린 직후와 창 크기가 변경될 대 동작하도록 호출한다.

function responsive(){
// 현재 창의 넓이
var w = $(window).width();

if (w >=?) {
... 반응형 기능 구현 ...
}

}

$(function()) {
// 브라우저가 열린 직후
responsive();

$(window).resize(function() {
// 창 크기가 변경될 경우
responsive();
});
});





인피티니 스크롤


1
2
3
4
5
6
7
8
9
10
11
// jQuery의 load처리 안에서 정의
$(function() {
    $(window).scroll(function(){
        if ( $(window).scrollTop() + $(window).height() == $(document).height()){
            ... 스크롤이 맨 ㅣㅌ에 도착한 경우의 처리 ...
 
        }
    });
});
 
 
cs


'Javascript & JQuery&Ajax' 카테고리의 다른 글

HTML 요소의 CSS속성과 CSS클래스 제어  (0) 2019.02.11
요소의 판별  (0) 2019.02.08
JSON 표기법  (0) 2019.02.07
HTML 요소 접근  (0) 2019.02.07
jQuery 초기화.  (0) 2019.02.07
Comments