복붙노트

[JQUERY] jQuery를 : 라이브 () 대표 대 ()

JQUERY

jQuery를 : 라이브 () 대표 대 ()

해결법


  1. 1..live ()는 매우 낭비의 결과를 사용하지 않는 당신은 즉시 선택기를 실행해야합니다. 여기에 이벤트 핸들러는 문서에 첨부되어 있으므로 어떤 요소에서 해당 유형의 모든 이벤트는 확인해야 버블 링. 다음은 사용 예는 다음과 같습니다

    .live ()는 매우 낭비의 결과를 사용하지 않는 당신은 즉시 선택기를 실행해야합니다. 여기에 이벤트 핸들러는 문서에 첨부되어 있으므로 어떤 요소에서 해당 유형의 모든 이벤트는 확인해야 버블 링. 다음은 사용 예는 다음과 같습니다

    $(".myClass").live("click", function() { alert("Hi"); });
    

    문 $ ( ". myClass가")는 우리가 그들에 대해 걱정하지 않는다하더라도 그 클래스의 모든 요소를 ​​찾기 위해 그 선택을 실행합니다, 우리가 원하는 모두에 이벤트 거품을 클릭하면 문자열 ".myClass는"나중에 일치하는 것이 었습니다 문서.

    .delegate () 실제로 .live () 내부적으로 사용하지만 콘텍스트. 이미 더 효율적 그래서 선택기, 즉시 실행되지 않으며, (그것을 할 수 있지만) 그것은 훨씬 더 지역의 문서에 첨부하지 않습니다 ... 당신은 상관하지 않는 다른 요소 나무에서 모든 다른 이벤트에 대해 결코 다시 더 효율적인 ... 버블 경우에도 확인. 다음은 사용 예는 다음과 같습니다

    $("#myTable").delegate("td", "click", function() { alert("Hi"); });
    

    여기에서 지금 무슨 일이 있었는지? 우리는 문서보다는 틀림없이 더 비싼 (에 첨부 요소를 얻을 $ ( "# myTable에")을 실행하지만, 우리는 결과를 사용하고 있습니다. 그리고 우리는 이벤트 것과 핸들러 (또는 다른 경우에 그) 요소를 연결합니다. 만 클릭 그들이 일어날 때 요소 내에서 "TD"선택에 대해 체크하지 등 모든 곳에서 () (모든 내부 문서이기 때문에)하지 .live.


  2. 2.위임 ()는 jQuery 코드에서 () 살 매핑합니다. 가장 큰 차이점은 () 라이브가 다른 요소에 이벤트를 위임하고자하는 위해 요소라는 점이다. 라이브 () 문서 객체에 이러한 이벤트를 위임합니다.

    위임 ()는 jQuery 코드에서 () 살 매핑합니다. 가장 큰 차이점은 () 라이브가 다른 요소에 이벤트를 위임하고자하는 위해 요소라는 점이다. 라이브 () 문서 객체에 이러한 이벤트를 위임합니다.

    다른 한편으로는 요소 이벤트가 선택기를 전달하여 위임하는 설정하는 방법을 수 있습니다에, () 위임합니다. 원래 요소가 선택 일치하는 경우 해당 요소에 거품까지이 처리되는 이벤트.

    이 페이지의 모든 요소에서 반드시 캡처 이벤트를하지 않습니다, 그것은 바로 선택을 조회하지 않기 때문에 @NickCraver 더 나은 라이브보다 위임 () 수행을 언급 한 바와 같이.


  3. 3.jQuery를 문서에서 :

    jQuery를 문서에서 :

    http://api.jquery.com/live/


  4. 4.라이브 방법 :

    라이브 방법 :

    $("#mymethod").live("click", function() { alert("It checks the entire DOM"); });
    

    라이브 방법 검사는 전체 DOM에 #mymethod (그것이 당신의 DOM의 내용에 따라 시간이 걸릴 것 때때로)

    위임 방법 :

    $('.mycontainer').delegate('#mymethod','click',function() { alert('Checks only in mycontainer portion') });
    

    위임은 당신의 mycontainer 부분 만 검색 전체 DOM을 검색하지 않습니다. (성능 향상)

  5. from https://stackoverflow.com/questions/4204316/jquery-live-vs-delegate by cc-by-sa and MIT license