[jQuery] How jQuery Works

프로그래밍/Web 2009. 7. 6. 17:38 Posted by galad
출처: http://docs.jquery.com/Tutorials:How_jQuery_Works

window.onload=function() {
    alert("welcome");
}
이건 html내의 모든 것이 로드된 후에 실행되지는 않는다고.(그 이전에 실행될 듯?)

jQuery로는 다음과 같이 처리.
$(document).ready(function() {
    alert("welcome");
});

a 태그 클릭 시, 링크로 이동 전에 메시지 출력.
(a 태그에 click handler를 추가)
$(document).ready(function() {
    //alert("welcome");

    $("a").click(function(event) {
        alert("Thanks for visiting.");
    });
});

a 태그 클릭 후, a 태그의 행동을 막으려면(기본 행동을 막으려면)
$(document).ready(function() {
    //alert("welcome");

    $("a").click(function(event) {
        alert("Thanks for visiting.");
        event.preventDefault();
    });
});

기타 추가 기능
$(document).ready(function() {
    //alert("welcome");

    $("a").click(function(event) {
        alert("Thanks for visiting.");
        event.preventDefault();
        $("a").hide("slow");    // 태그 천천히 숨기기
    });

    $("a").addClass("test");        // 태그에 class 추가
    $("a").removeClass("test");    // 태그에 class 삭제
});
class는 여러 개를 추가할 수 있다.

Callback & Functions
Callback실행 전에 부모가 실행된다. Callback에 인자를 넘길 수 있다....
인자 없는 Callback
$.get('myhtmlpage.html', myCallBack);
myhtmlpage.html 실행 후, myCallBack함수를 실행한다(myCallBack은 함수 포인터).

인자 있는 Callback
$.get('myhtmlpage.html', myCallBack(param1, param2));  // 틀린 방법

$.get('myhtmlpage.html', function(){  // 올바른 방법
    myCallBack(param1, param2);
});