복붙노트

[JQUERY] jQuery의 .bind () 대 CSTE 연구진은 ()

JQUERY

jQuery의 .bind () 대 CSTE 연구진은 ()

해결법


  1. 1.내부적으로, .bind 직접 jQuery를 현재 버전에서 CSTE 연구진에 매핑됩니다. (동일 .live 간다.) 당신은 .bind 대신 사용하는 경우 그래서 작지만 실질적으로 중요하지 않은 성능 저하가있다.

    내부적으로, .bind 직접 jQuery를 현재 버전에서 CSTE 연구진에 매핑됩니다. (동일 .live 간다.) 당신은 .bind 대신 사용하는 경우 그래서 작지만 실질적으로 중요하지 않은 성능 저하가있다.

    그러나, .bind 언제든지 향후 버전에서 제거 될 수 있습니다. .bind 대신 CSTE 연구진은 선호하는 모든 이유를 계속 할 이유가 없다.


  2. 2.이 조각은 모두 정확히 같은 일을 수행 :

    이 조각은 모두 정확히 같은 일을 수행 :

    element.on('click', function () { ... });
    element.bind('click', function () { ... });
    element.click(function () { ... });
    

    그러나, 그들은 모두 같은 일을 수행하는이 매우 다르다 :

    element.on('click', 'selector', function () { ... });
    element.delegate('click', 'selector', function () { ... });
    $('selector').live('click', function () { ... });
    

    이벤트 핸들러의 두 번째 세트는 이벤트 위임을 사용하여 동적으로 추가 요소 작동합니다. 사용 대표단은 훨씬 더 성능이 좋은 이벤트 처리기. 첫 번째 세트는 동적으로 추가 요소 작동 및 성능을 훨씬 더 나쁘다하지 않습니다.

    jQuery의 () 함수에 이미 존재하지 않았던 새로운 기능을 소개하지 않습니다, 그것은 jQuery를에서 이벤트 처리를 표준화 그냥 시도이다 (당신은 더 이상 살아있는 사이에서 결정 할 필요가 없습니다, 바인딩, 또는 위임).


  3. 3.직접 방법과 .delegate는 CSTE 연구진하는 우수한 API를하고 그들을 비하의 의도는 없다.

    직접 방법과 .delegate는 CSTE 연구진하는 우수한 API를하고 그들을 비하의 의도는 없다.

    코드가 덜 stringly 입력되기 때문에 직접적인 방법이 바람직하다. 당신이를 잘못 입력하면 즉시 오류가 발생합니다 이벤트 이름보다는 침묵 버그. 제 생각에는, 그것을 작성하고보다는 클릭을 읽어도 쉽게 ( "클릭"

    .delegate 때문에 인수의 순서의 CSTE 연구진은 우수하다 :

    $(elem).delegate( ".selector", {
        click: function() {
        },
        mousemove: function() {
        },
        mouseup: function() {
        },
        mousedown: function() {
        }
    });
    

    당신은 물론,이 대표는 말한다 때문에이 위임있어 바로 알고 있습니다. 당신은 또한 즉시 선택을 참조하십시오.

    이 경우에도 위임 않다면 CSTE 연구진과 함께 즉시 명확하지 않다 당신은 선택의 종료를보고 있습니다 :

    $(elem).on({
        click: function() {
        },
        mousemove: function() {
        },
        mouseup: function() {
        },
        mousedown: function() {
        }
    }, "selector" );
    

    이제, .bind의 이름은 정말 끔찍와 CSTE 연구진은보다 더 액면입니다. 그러나 .delegate이 아닌 위임 행사를 할 수없는이 그래서하지만 당신이 위임 및 비 위임 이벤트 사이의 깨끗한 분리를 만들고 싶어하기 때문에 사용할 수있는 이런 드문 경우에, 직접적인 방법이없는 이벤트이다.


  4. 4.당신이 $의 소스 코드를 보면 당신이에 대한 단지 재 작성 기능의 것을 발견 할 것이다 .fn.bind :

    당신이 $의 소스 코드를 보면 당신이에 대한 단지 재 작성 기능의 것을 발견 할 것이다 .fn.bind :

    function (types, data, fn) {
        return this.on(types, null, data, fn);
    }
    

    http://james.padolsey.com/jquery/#v=1.7.2&fn=$.fn.bind


  5. 5.JQuery와 문서에서 :

    JQuery와 문서에서 :

    http://api.jquery.com/bind/


  6. 6.jQuery를 3.0으로하고 .bind 이상이되지 않으며 그들은 대신 CSTE 연구진 사용하여 선호. @Blazemonger는 제거 될 수 있고 그 확실히이 제거됩니다 이전 대답한다. 이전 버전은 내부적으로 CSTE 연구진은 부를 것이다 .bind와 그들 사이의 차이가 없기 때문이다. 또한 자세한 내용 API를 참조하십시오.

    jQuery를 3.0으로하고 .bind 이상이되지 않으며 그들은 대신 CSTE 연구진 사용하여 선호. @Blazemonger는 제거 될 수 있고 그 확실히이 제거됩니다 이전 대답한다. 이전 버전은 내부적으로 CSTE 연구진은 부를 것이다 .bind와 그들 사이의 차이가 없기 때문이다. 또한 자세한 내용 API를 참조하십시오.

    .bind에 대한 jQuery를 API 문서 ()

  7. from https://stackoverflow.com/questions/11847021/jquery-s-bind-vs-on by cc-by-sa and MIT license