복붙노트

[JQUERY] jQuery를 1.9 .live ()는 함수가 아니다

JQUERY

jQuery를 1.9 .live ()는 함수가 아니다

해결법


  1. 1.당신은 버전 1.8에서 업그레이드가 이전하는 경우 아래의 마이그레이션 가이드를 따르지 않는 경우 수단, 당신은 사물 파괴를 알 수있다. 당신은 단순히 CSTE 연구진과 함께) (.live 대체 안 ()!

    당신은 버전 1.8에서 업그레이드가 이전하는 경우 아래의 마이그레이션 가이드를 따르지 않는 경우 수단, 당신은 사물 파괴를 알 수있다. 당신은 단순히 CSTE 연구진과 함께) (.live 대체 안 ()!

    매개 변수가 다른 같은 라이브 사이트에 빠른 / 핫 픽스를 들어, 단지에와 키워드 라이브를 교체하지 마십시오!

    .live(events, function)
    

    하는지도한다 :

    .on(eventType, selector, function)
    

    (자식) 선택은 매우 중요합니다! 당신이 어떤 이유로이를 사용할 필요가없는 경우, 널 (null)로 설정합니다.

    전에:

    $('#mainmenu a').live('click', function)
    

    후, 당신은 CSTE 연구진 () 선택에 자식 요소 (A)를 이동 :

    $('#mainmenu').on('click', 'a', function)
    

    전에:

    $('.myButton').live('click', function)
    

    후, 당신은 CSTE 연구진 () 셀렉터 요소 (.myButton)를 이동하고, (바람직하게는 ID와) 가장 가까운 상위 요소를 찾을 수 있습니다 :

    $('#parentElement').on('click', '.myButton', function)
    

    당신이 부모로서 무엇을 입력해야되는지 모르는 경우, 몸은 항상 작동합니다 :

    $('body').on('click', '.myButton', function)
    

  2. 2.다음과 같은 자바 스크립트 코드를 포함하여 코드를 리팩토링 방지 할 수 있습니다

    다음과 같은 자바 스크립트 코드를 포함하여 코드를 리팩토링 방지 할 수 있습니다

    jQuery.fn.extend({
        live: function (event, callback) {
           if (this.selector) {
                jQuery(document).on(event, this.selector, callback);
            }
            return this;
        }
    });
    

  3. 3..live의 전달 포트 ()에 대한 jQuery> = 1.9 .live JS에 종속 리팩토링을 피 () 용도에 최적화 DOM 선택 컨텍스트

    .live의 전달 포트 ()에 대한 jQuery> = 1.9 .live JS에 종속 리팩토링을 피 () 용도에 최적화 DOM 선택 컨텍스트

    /** 
     * Forward port jQuery.live()
     * Wrapper for newer jQuery.on()
     * Uses optimized selector context 
     * Only add if live() not already existing.
    */
    if (typeof jQuery.fn.live == 'undefined' || !(jQuery.isFunction(jQuery.fn.live))) {
      jQuery.fn.extend({
          live: function (event, callback) {
             if (this.selector) {
                  jQuery(document).on(event, this.selector, callback);
              }
          }
      });
    }
    

  4. 4.링크 : JQuery와 API 문서 목록은 버전 1.7으로 사용되지 않으며 버전 1.9로 제거로 () 살고 있습니다.

    링크 : JQuery와 API 문서 목록은 버전 1.7으로 사용되지 않으며 버전 1.9로 제거로 () 살고 있습니다.

    또한이 상태 :


  5. 5..live ()는 중단하고 현재 jQuery를 1.9에서 제거 된 당신은) (CSTE 연구진 사용해야합니다

    .live ()는 중단하고 현재 jQuery를 1.9에서 제거 된 당신은) (CSTE 연구진 사용해야합니다


  6. 6.http://jquery.com/upgrade-guide/1.9/#live-removed : .live가 1.9에서 제거하고, 업그레이드 가이드를 참조하십시오

    http://jquery.com/upgrade-guide/1.9/#live-removed : .live가 1.9에서 제거하고, 업그레이드 가이드를 참조하십시오


  7. 7.코드를 변경하지 않아도 아주 간단한 수정, 여기 JQuery와 마이그레이션 스크립트 다운로드를 추가 https://github.com/jquery/jquery-migrate/

    코드를 변경하지 않아도 아주 간단한 수정, 여기 JQuery와 마이그레이션 스크립트 다운로드를 추가 https://github.com/jquery/jquery-migrate/

    그것은 "라이브", "브라우저"등 같은 JQuery와 사용되지하지만 필요한 기능을 제공합니다


  8. 8.내가 필요하지 않는 경우는 CSTE 연구진은 () 구문을 사용하지 않는 경향이있다. 예를 들어, 당신은이 같은 쉽게 마이그레이션 할 수 있습니다 :

    내가 필요하지 않는 경우는 CSTE 연구진은 () 구문을 사용하지 않는 경향이있다. 예를 들어, 당신은이 같은 쉽게 마이그레이션 할 수 있습니다 :

    낡은:

    $('.myButton').live('click', function);
    

    새로운:

    $('.myButton').click(function)
    

    다음은 유효한 이벤트 처리기의 목록은 다음과 같습니다 https://api.jquery.com/category/forms/


  9. 9.당신은 레일 '의 jQuery 보석 JQuery와 레일에 루비를 사용하고 어떤 이유로 당신은 여전히 ​​지원은 2.1.3이다, 마지막 버전을 기존 코드를 리팩토링 할 수 없으며 다음과 같은 구문에 사용하여 잠글 수 있습니다 일어날 경우 당신의 Gemfile :

    당신은 레일 '의 jQuery 보석 JQuery와 레일에 루비를 사용하고 어떤 이유로 당신은 여전히 ​​지원은 2.1.3이다, 마지막 버전을 기존 코드를 리팩토링 할 수 없으며 다음과 같은 구문에 사용하여 잠글 수 있습니다 일어날 경우 당신의 Gemfile :

    gem 'jquery-rails', '~> 2.1', '= 2.1.3'
    

    당신은 업데이트하려면 다음 명령을 사용할 수 있습니다 :

    bundle update jquery-rails
    

    나는 비슷한 문제에 직면하는 도움말 다른 사람을 바랍니다.

  10. from https://stackoverflow.com/questions/14354040/jquery-1-9-live-is-not-a-function by cc-by-sa and MIT license