본문 바로가기

목록이 없습니다.

[jQuery] click() vs trigger('click')

Framework/jQuery


    jQueryjQuery




    jQuery에서 click event를 처리할 때 사용되는 대표적인 문법으로 click()과 trigger('click')이 있는데 이 둘의 차이점을 정리해보려고 한다.


    어떨때는 click()을 사용하고 어떤 경우에는 trigger('click')을 사용한다.


    click()의 경우는 우리가 event처리에 있어서 함수를 사용하는데 이 함수에 전달해야할 매개변수가 있다면 click()을 사용하는 것이 옳다. 왜냐하면 trigger.('click')은 매개변수를 전달하지 못하기 때문에.


    trigger.('click')은 매개변수를 전달하지 못하는 대신에 속도가 click()에 비해서 빠르다. 그래서 매개변수 없이 event처리를 하는 경우에는 trigger.('click')을 사용하는 것이 훨씬 성능에 좋다고 할 수 있다.


    종종 다음과 같이 쓰이는 경우도 있다.


    jQuery.fn.click = function (data, fn) {
        if (fn == null) {
            fn = data;
            data = null;
        }
    
        return arguments.length > 0 ? this.on("click", null, data, fn) : this.trigger("click");
    }
    출처 : StackOverflow