복붙노트

[JQUERY] ()에 사용하는 이유 jQuery를 대신 클릭의 ()

JQUERY

()에 사용하는 이유 jQuery를 대신 클릭의 ()

해결법


  1. 1.당신이 (Ajax 호출에서 오는 예를 들어) 동적으로 생성 된 요소를 가질 수 있기 때문에, 이전에 같은 요소 선택기에 바인딩 된 것과 동일한 클릭 핸들러를 할 수 있습니다, 당신은 "위임"클릭 이벤트 (에 사용)와 선택 인수

    당신이 (Ajax 호출에서 오는 예를 들어) 동적으로 생성 된 요소를 가질 수 있기 때문에, 이전에 같은 요소 선택기에 바인딩 된 것과 동일한 클릭 핸들러를 할 수 있습니다, 당신은 "위임"클릭 이벤트 (에 사용)와 선택 인수

    보여주기 위해 :

    http://jsfiddle.net/AJRw3/

    또한 지정된 선택이없는 경우 클릭 ()와 동의어 일 수 있음) (ON :

    $('.elementClass').click(function() { // code 
    });
    

    대명사

    $('.elementClass').on('click', function() { // code
    });
    

    의미에서 그것은 단지 클래스 elementClass 모든 요소에 처리기 한 시간을 추가하는 것이. 새 elementClass는 예를 들어 $를 들어,에서 오는 경우 ( '

    '), 핸들러가 그 새로운 요소에 구속되지 않습니다, 당신은 할 필요가 :

    $('#container').on('click', '.elementClass', function() { // code
    });
    

    #container를 가정하면 .elementClass의 조상


  2. 2.답변 많이 있습니다, 몇 점의 각 감동은 - 희망이 그것을 사용하는 방법을 무엇 무엇의 좋은 설명과 함께, 당신에게 답변을 제공 할 수 있습니다.

    답변 많이 있습니다, 몇 점의 각 감동은 - 희망이 그것을 사용하는 방법을 무엇 무엇의 좋은 설명과 함께, 당신에게 답변을 제공 할 수 있습니다.

    바인딩에 대한 별칭) (클릭한다 사용 (... '클릭'). 바인딩 (주)의 이벤트 리스너가 설정되는 경우이며, DOM의 정합 소자들 각각의 기능을 결합로서 DOM을 얻어 사용. 당신은 ( 'A') $를 사용하는 경우 그 말을하는 것입니다. 때 코드 실행 발견 당신은 DOM의 모든 앵커 태그의 클릭 이벤트에 공급하는 기능을 결합합니다 (...)를 클릭합니다.

    jQuery를에있는 오래된 방법은 () 방송했습니다 사용; 그것은) (단지 바인딩 같은 바인딩 이벤트를 사용하지,하지만 코드 실행이 때는 DOM의 요소에 불과 바인드 그들을하지 않는 한 - 그것은 또한 DOM의 변경을 대기하고 미래의 일치 요소에 이벤트를 바인딩 잘. 당신이 DOM 조작을하고있는 경우에 유용하고 나중에 DOM에 추가 / 제거 업데이트받을 수있는 몇 가지 요소 /에 존재하는 이벤트를 필요로하지만, DOM이 처음로드 될 때 존재하지 않습니다.

    그것이 잘못 구현 되었기 때문에 지금은 감가 상각 사는 이유는 ()입니다. 라이브 사용하기 위해 (), 당신은 (내가 믿는) 초기 DOM에서 적어도 하나 개의 요소를 선택 할 수 있도록했다. 또한 각 요소에 바인딩하는 실행 기능의 사본을 발생 - 당신이 1000 개 요소가있는 경우, 그 복사 기능의 많은입니다.

    온 () 함수의 생성은 이러한 문제점을 극복하고자 하였다. - (바인딩이 부모 개체에 나중에 DOM에 추가 제거됩니다 요소 /에 ()에 사용할 수 있도록) 그것은 당신이 DOM에 변경되지 않습니다 객체에 하나의 이벤트 리스너를 결합 할 수 있습니다 단순히 그것이 선택 일치하는 요소에 나왔을 때의 기능 만 실행되도록 요소 "필터"를 적용합니다. 는 DOM에서 "라이브"이벤트를 추가하는 더 나은 방법 -이 방법은 단일 요소에 바인딩이 존재 하나의 기능 (안 사본의 무리)가 있습니다.

    ... 그리고 그 차이가 무엇이며, 왜 각 기능이 존재하는 이유는 라이브 () 감가 상각된다.


  3. 3.인용 부호:

    인용 부호:


  4. 4.()을 클릭하면에서의 비 위임 방법 ()에 대한 바로 가기입니다. 그래서:

    ()을 클릭하면에서의 비 위임 방법 ()에 대한 바로 가기입니다. 그래서:

    $(".close-box").click() === $(".close-box").on('click')
    

    (), 즉에 함께 이벤트를 위임합니다. 동적 만든 개체에 당신이 할 수 있습니다 :

    $(document).on('click', '.close-box') // Same as $('.close-box').live()
    

    그러나, 살고있는 (가) 정적 요소에 위임을 소개에서뿐만 아니라 문서 () 그래서 않습니다 :

    $("#closestStaticElement").on('click', '.close-box')
    

  5. 5.당신은 라이브 바인딩 사이의 차이를 읽어해야합니다.

    당신은 라이브 바인딩 사이의 차이를 읽어해야합니다.

    당신이 현재와 미래에 존재하는 요소에 결합 할 수 있도록 간단히 말해서, 라이브 사용 이벤트 위임합니다.

    대조적으로, 바인딩 (클릭 등의 단축키)를 통해 부착 핸들러 셀렉터 일치 DOM 요소에 직접 부착 핸들러, 따라서 지금은 존재 요소에 결합된다.

    의 라이브 유연성의 결과는 당신이 제공하는 기능을 필요로 할 때 그렇게 밖에 이용, 성능이 저하됩니다.


  6. 6.$ el.click (FN)이 $ el.on에 대한 바로 가기입니다 ( '클릭', FN)

    $ el.click (FN)이 $ el.on에 대한 바로 가기입니다 ( '클릭', FN)

    추가 정보를 원하시면 http://api.jquery.com/click/ 및 http://api.jquery.com/on/를 참조하십시오.


  7. 7.당신이 동적으로 추가 요소에 어떤 이벤트 핸들러를 결합 할 필요가있을 때 당신은 그것을 작동하게 라이브 (사용되지 않음) 사용하거나에해야합니다. . 간단히 $ ( '요소') (...)를 클릭합니다; DOM을에 어떤 동적으로 추가 요소에서 작동하지 않습니다.

    당신이 동적으로 추가 요소에 어떤 이벤트 핸들러를 결합 할 필요가있을 때 당신은 그것을 작동하게 라이브 (사용되지 않음) 사용하거나에해야합니다. . 간단히 $ ( '요소') (...)를 클릭합니다; DOM을에 어떤 동적으로 추가 요소에서 작동하지 않습니다.

    더 jQuery의 .bind의 차이에 (), .live () 및 .delegate ().


  8. 8.() .click $ 것은 단지 하나 바인드 또는 화면에 바로 가기입니다. jQuery를 워드 프로세서에서 :

    () .click $ 것은 단지 하나 바인드 또는 화면에 바로 가기입니다. jQuery를 워드 프로세서에서 :


  9. 9.CSTE 연구진 () 메소드는 jQuery 오브젝트 요소의 현재 선택된 세트의 이벤트 핸들러를 첨부. 클릭 () 메서드는 요소에 해당 이벤트를 "클릭"자바 스크립트 이벤트에 이벤트 핸들러를 결합, 또는 트리거.

    CSTE 연구진 () 메소드는 jQuery 오브젝트 요소의 현재 선택된 세트의 이벤트 핸들러를 첨부. 클릭 () 메서드는 요소에 해당 이벤트를 "클릭"자바 스크립트 이벤트에 이벤트 핸들러를 결합, 또는 트리거.

    선택기의 대상이 예컨대 통해 일부 아약스 응답 (즉석에서 변경하는 경우 일반 .click에서 (...) 당신은 다시 동작을 할당해야 할 것입니다.

    CSTE 연구진은 (... (jQuery를 1.7 아주 새로운) 및 어쨌든 동작을 첨부 할 수있는 빠른 방법입니다 위임 이벤트를 사용하여 라이브 시나리오를 커버 할 수있다.


  10. 10.방법에에서, 이벤트 핸들러 대신 타겟의 부모 구성 요소에 부착된다.

    방법에에서, 이벤트 핸들러 대신 타겟의 부모 구성 요소에 부착된다.

    예 : $ (문서) CSTE 연구진 (} {), 기능 ( ".ClassName과"을 "클릭");

    위의 예에서, 클릭 이벤트 핸들러는 문서에 첨부되어있다. 그리고 그것은 누군가가 대상 요소를 클릭 여부를 알고 이벤트 버블 링을 사용합니다.

  11. from https://stackoverflow.com/questions/10082031/why-use-jquery-on-instead-of-click by cc-by-sa and MIT license