2011-12-31 3 views
3

왜 jQuery가 click(), bind() 및 유사한 함수가 "live"를 자동으로 수행하도록 허용하지 않습니까?jQuery가 모든 기능을 자동으로 "라이브"로 설정하지 않는 이유는 무엇입니까?

click(function()... 대신 "live"을 사용하려면 왜 live("click", functi...을 사용해야합니까? 라이브에는 더 많은 리소스가 필요합니까?

+2

오, 이런 제 생각에는 브라우저가 응답해야 할 시점을 알 필요가 있다고 말합니다. t "윌리 - 닐리 - 이벤트 - 오 - 라마". ['$ $ .live()'] (http://api.jquery.com/live/) 메소드는'document'에 대한 변경 사항을 처리합니다. 그래서 당신이 더 구체적 일수록 (그리고 모든 "이벤트"가 아닌) 끝나면 이벤트 처리가 "효율적"으로 처리됩니다. –

+1

'.live()'는 이벤트 위임입니다. 그러면 페이지의 모든 이벤트가 해당 이벤트에 제공된 모든 선택기에 대해 테스트됩니다. 그건 나쁘고, 그 이유는'.live()'가 나쁘다는 것입니다. –

답변

7

웃기지 마십시오. 교환 보일 수 라이브 표면 위임에
http://www.ultimatewebtips.com/why-jquery-live-is-a-bad-option-to-use/

: 누군가가 당신의 질문에 대답 전체 기사를 썼다. 그러나 은 그렇지 않습니다. 라이브에는 몇 가지 심각한 단점이 있으며 절대로 을 사용해야하며이 문서에서는 이유를 설명합니다.

개설 된 요약은 다음과 같습니다

  1. 당신은 라이브
  2. 라이브에서 작동하지 않는 재사용 가능한 위젯 라이브
  3. stopPropagate()를 사용할 수 없습니다 '는 느린
  4. 라이브 ISN입니다 t chainable
+2

답변에는 링크 된 기사의 요지가 포함되어야합니다 (아마도 페이지의 번호가 매겨진 윤곽선을 찢을 수 있음). 당신이 그것을 추가하면 upvote 가치가 확실히 :) –

+0

Thanks @ MerlynMorgan-Graham. 나는 매일 내 대답을 향상시키는 법을 배웁니다! –

관련 문제