>웹 프론트엔드 >JS 튜토리얼 >jQuery 1.7 .on () vs .live () 검토

jQuery 1.7 .on () vs .live () 검토

William Shakespeare
William Shakespeare원래의
2025-03-01 08:31:09187검색

jQuery 's 및 .on() 방법 : 포괄적 인 가이드 이 기사는 jQuery의 .off() 및 이벤트 핸들러를 탐색하여 현재 퇴거 된

메소드와 비교합니다. 2011 년 JQuery Summit에서 Adam Sontag의 권고는

.on()를 채택하겠다는 중대한 개선을 강조했습니다. 기능과 차이점을 탐구합시다 .off() jQuery .live() (더 이상) .on() .off() 일단 이벤트 핸들러를 동적으로 추가 된 DOM 요소에 첨부 할 수있는 능력에 찬사를받은

방법은 더 이상 권장되지 않습니다. 그 한계는 다음과 같습니다.

성능 : 적용하기 전에 요소를 검색하는 .live()> 특히 큰 문서에서는 비효율적입니다. 체인 : 메소드 체인은 지원되지 않습니다 (예 : 는 유효하지 않음) 이벤트 전파 :

이벤트는 가능한 가장 긴 경로를 이동하여 취급이 느려집니다. 는 낮은 수준의 핸들러가 발사되는 것을 방지하는 데 효과적이지 않습니다

상호 작용 : .live()

all
    모든 를 통해 첨부 된 핸들러를 클릭하여 예상치 못한 동작을 유발할 수 있습니다.
  1. .live()
  2. jQuery
  3. 기존 요소와 미래의 요소를 모두 처리하는 이벤트 핸들러를 선택한 요소에 첨부합니다. $("a").find(".offsite, .external").live(...)
  4. 주요 차이점 : event.stopPropagation() 기능 :
  5. 수준에 이벤트를 첨부하는 반면 는 지정된 조상 요소에서보다 정확한 이벤트 대표단을 허용합니다. 사용 : unbind() 핵심 차이는 매개 변수 순서와 : 의 선택기 매개 변수가없는 것입니다. $(document).unbind("click") .live() 성능 :
  6. 다양한 성능 벤치 마크에서 입증 된 바와 같이

는 종종 3 또는 4의 계수로 상당히 성능이 우수합니다. jQuery 1.7  .on() vs .live() Review

jQuery .on() 는 이벤트 핸들러를 제거하여

에 상대방을 제공합니다. 그것은 .off()와 유사하게 작동하여 뒤로 호환성을 유지합니다. jQuery 1.7 이후에서 .on()는 본질적으로 .unbind()에 대한 별칭입니다. .unbind() .off()

1.7 이상에서 .bind()는 에 대한 별칭입니다. .on(). 에서

로의 마이그레이션

.bind()를 로 교체하십시오. 변경된 매개 변수 순서 .on() 자주 묻는 질문 (faqs)

원본 텍스트에 제공된 FAQ 섹션은 이미 포괄적이며 및 와 관련된 주요 차이, 마이그레이션 전략 및 성능 고려 사항을 다룹니다. 여기서 그것을 재현 할 필요가 없습니다. 결론 .live() .on() 에서

및 로의 전환은 jQuery 이벤트 처리에서 중요한 업그레이드입니다. 는 탁월한 성능, 유연성 및 유지 관리를 제공하여 현대적인 jQuery 개발에 선호되는 선택입니다.

위 내용은 jQuery 1.7 .on () vs .live () 검토의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.