jQuery는 DOM 객체를 탐색, 접근하여 조작하는 여러가지 방법을 제공한다.
실무에서 많이 사용하는 메서드 위주로 요약해서 작성하였으며 정확한 정보들을 확인하고 싶다면 jQuery 공식 사이트를 참조하면 된다.
on
이벤트를 제어할 수 있는 메서드이며 과거에 사용하던 bind, delegate, live 메서드들의 모든 기능을 제공한다.
이벤트를 중첩해서 적용하고 싶은 경우 공백을 통해 입력한다.
$('button').on('click mouseenter', function(){
// 코드 작성
});
$('button').on('click', onClickFunction);
function onClickFunction(){
// 코드 작성
};
one
이벤트를 제어할 수 있는 메서드이며 on과 동일하나 첫번째 호출에만 실행되는 점만 다르다.
$('button').one('click', function(){
// 코드 작성
});
$('button').one('click', onClickFunction);
function onClickFunction(){
// 코드 작성
};
on & one
구문
$(선택자).on('이벤트이름', calbackFunction);
동적으로 생성되는 DOM 요소에 이벤트 추가
$('#box').on('click', 'button', function(){
// 코드 작성
});
off
이벤트를 제어할 수 있는 메서드이며 on 메서드를 통해 연결시켰던 이벤트를 제거한다.
off 메서드 안에 입력 값을 넣지 않으면 on 메서드로 설정한 모든 이벤트의 연결이 제거되므로 주의해야한다.
$('button').on('click', onClickFunction);
$('button').click(onClickFunction);
// 선택자의 모든 이벤트 제거
$('button').off();
// 입력된 이벤트 제거
$('button').off('click');
trigger
on 메서드를 통해 이벤트가 실행되어 있으면 사용할 수 있는 메서드
trigger 메서드를 통해 수동으로 이벤트를 실행할 수 있다.
$('button').on('click', onClickFunction);
// 클릭 이벤트가 실행되어 onClickFunction 함수가 실행된다.
$('button').trigger('click');
focus
탭 포커싱 이벤트로 on 메서드를 통해 사용할수도 있지만 포커싱 메서드들도 따로 존재한다.
탭으로 포커싱하거나 마우스 클릭 시에 focus, focusin이 실행되며 포커싱이 빠질 경우 focusout이 실행된다.
마우스 클릭 시에도 focus, focusin이 실행된다.
// HTML
<a id="link" href="./경로"></a>
// jQuery
$('#a').focus(function(){
// 코드 작성
});
$('#a').focusin(function(){
// 코드 작성
});
$('#a').focusout(function(){
// 코드 작성
});
포커싱할때 : focusin
포커싱빠질때 : focusout
click
마우스 클릭 이벤트, on 메서드를 통해 호출할수도 있지만 click 메서드도 따로 존재한다.
$('button').click(function(){
// 코드 작성
});
마우스 더블 클릭 : dbclick
마우스 클릭 버튼 누를때 : mousedown
마우스 클릭 버튼 뗄때 : mouseup
hover
마우스 이벤트로 on 메서드를 통해 사용할수도 있지만 hover 메서드가 따로 존재한다.
첫번째 function은 mouseenter를 의미하며 두번째 function은 mouseleave를 의미한다.
$('button').hover(function(){
// mouseenter 코드 작성
}, function(){
// mouseleave 코드 작성
});
// 해체 시
$('button').off('mouseenter mouseleave');
'Javascript' 카테고리의 다른 글
[jQuery기초] 요소조작_이벤트_before, insertBefore, after, insertAfter (0) | 2020.06.26 |
---|---|
[jQuery기초] 요소조작_이벤트_append, appendTo, prepend, prependTo (0) | 2020.06.26 |
[jQuery기초] 요소조작_이벤트_html_text_empty_remove (0) | 2020.06.26 |
[jQuery기초] 요소조작_이벤트_mouseenter, mouseover, mouseleave, mouseout, mousemove (0) | 2020.06.25 |
[jQuery기초] 요소조작_CLASS (0) | 2020.06.25 |
[jQuery기초] 탐색 메서드 (0) | 2020.06.23 |
[jQuery기초] 선택자(Selector) (0) | 2020.06.23 |
[jQuery기초] 기본템플릿, load 이벤트 그리고 ready 이벤트 (0) | 2020.06.23 |