>웹 프론트엔드 >JS 튜토리얼 >버전 2.1로 업그레이드한 후 jQuery의 .live()가 작동하지 않는 이유는 무엇이며 어떻게 해결할 수 있습니까?

버전 2.1로 업그레이드한 후 jQuery의 .live()가 작동하지 않는 이유는 무엇이며 어떻게 해결할 수 있습니까?

Mary-Kate Olsen
Mary-Kate Olsen원래의
2024-11-23 18:05:17705검색

Why Doesn't jQuery's .live() Work After Upgrading to Version 2.1, and How Can I Fix It?

jQuery .live() 지원 중단

문제:

jQuery를 다음으로 업그레이드한 후 버전 2.1에서는 .live() 기능이 작동을 중단하여 "TypeError: $(...).live는 함수가 아닙니다." 오류.

원인:

jQuery 버전 1.9에서 .live() 메서드가 더 이상 사용되지 않습니다. 이후 성능 및 아키텍처 문제로 인해 버전 2.1에서 제거되었습니다.

해결책: .on()

.live()의 기능을 대체하려면 jQuery는 .on() 메서드로 마이그레이션하는 것을 권장합니다. 그러나 .on() 구문이 .live()와 다르다는 점에 유의하는 것이 중요합니다.

마이그레이션 가이드:

  1. 라이브 교체 이벤트 유형이 명명된 이벤트: .live('click', function) 은 .on('click', selector, function).
  2. 하위 선택기를 .on() 선택기로 이동합니다. .live('.myElement', function)는 .on('click', '.myElement', 함수).
  3. 대상 요소가 위임 상위 요소 내에 있는지 확인하세요. 다음에 적합한 상위 요소를 선택하세요. 자식 선택자(바람직하게는 ID 포함) 사용할 수 있는 항목이 없으면 $(document)를 위임 상위로 사용합니다.

마이그레이션 예:

예 1:

Before: $('#mainmenu a').live('click', function)
After: $('#mainmenu').on('click', 'a', function)

예시 2:

Before: $('.myButton').live('click', function)
After: $('#parentElement').on('click', '.myButton', function) or $(document).on('click', '.myButton', function) if no suitable parent is known

추가 리소스:

  • jQuery - "live() 대신 "on()" 메서드를 사용하는 방법 ”?
  • jQuery 1.9 마이그레이션 가이드

위 내용은 버전 2.1로 업그레이드한 후 jQuery의 .live()가 작동하지 않는 이유는 무엇이며 어떻게 해결할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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