>  기사  >  웹 프론트엔드  >  jquery1.9에서 삭제된 다이, 브라우저, 라이브, 서브, 토글 교체 방법 소개

jquery1.9에서 삭제된 다이, 브라우저, 라이브, 서브, 토글 교체 방법 소개

黄舟
黄舟원래의
2017-06-26 09:52:151756검색

jQuery 1.9에는 제목에 언급된 browser, live, die, sub 및 전환 기능이 몇 가지 변경되었습니다. 고급 버전은 작동하지 않지만 사용 중에 하위 버전은 작동하는 경우 버전 업그레이드의 영향을 받는지 알아보세요. 이전에 "jQuery 1.9 업그레이드 및 삭제를 위한 API 가이드"를 재인쇄한 적이 있습니다. 사실 저는 그 중 많은 부분을 사용해본 적이 없습니다. ·


jQuery.browser()

공식적으로 권장하는 수정 방법은 조건부 판단·

<!--[if lt IE 9]><script src="http://m.cnblogs.com/109793/jquery-1.9.0.js" rel="nofollow"/><![endif]-->
<!--[if gte IE 9]>
<script src="http://m.cnblogs.com/109793/jquery-2.0.0.js" rel="nofollow"/>
<![endif]-->


을 통해 브라우저를 구분하는 것입니다. 계속해서 jQuery.browser()를 사용해야 한다면, "jquery-browser" 플러그인을 추가했지만 해당 플러그인을 테스트하지 않았습니다.

자신의 프로젝트 기능 감지가 필요한 경우 jQuery.support의 properties에 의존하기보다는 Modernizr과 같은 외부 라이브러리를 사용하는 것이 좋습니다. (jQuery는 이러한 감지 방법을 내부적으로 지원하므로 페이지가 로드될 때마다 실행되지만 jQuery의 내부 코드에 더 이상 특정 속성이 필요하지 않으면 제거됩니다.)·

.live()

.live( ) 메서드는 1.9에서 제거될 예정이며 @ZPS는 이메일을 통해 모든 사람에게 알렸습니다. .live() 메서드 제거와 관련하여 업그레이드는 비교적 간단합니다. ".live()"를 ".on()"으로 바꾸면 됩니다.

.die()

".live()" 메서드 제거와 관련하여 ".die()" 메서드도 1.9에서 제거되고 ".off()" 메서드로 대체되었습니다. 1.9 이전과 마찬가지로 많은 사람들이 ".live()" 메소드에만 주목했지만 ".die()" 메소드도 있다는 사실을 몰랐던 를 제거하는 방법을 모르는 Coder가 있을 수 있습니다. .on() 에 의해 추가된 event 실제로 이벤트를 삭제하고 추가하려면 ".off()"를 사용합니다.

jQuery.sub()

.sub() 메서드는 원본 jQueryobject에 영향을 주지 않고 jQuery의 새 복사본을 생성할 수 있습니다. 또는 jQuery 메서드를 다시 작성하거나 새 플러그인을 만드는 것은 아직 논의되지 않았습니다.

위 업그레이드 가이드에서 .sub() 메소드는 제거되지 않았지만 다른 플러그인으로 이동되었기 때문에 해당 플러그인을 참조하는 한 계속 사용할 수 있을 것입니다.

.sub() 사용에는 공식적으로 두 가지 특정 상황이 있습니다. 하나는 원래 메서드를 변경하지 않고 jQuery 메서드를 다시 작성하는 간단한 방법을 제공하는 것이고, 다른 하나는 사용자가 jQuery 플러그인 캡슐화 및 기본 문제를 해결하도록 돕는 것입니다 네임스페이스.

.toggle(function, function, … )

다음 jQuery 플러그인은 1.8의 토글 기능을 복원할 수 있습니다. 필요한 경우 다음 코드를 jQuery에 직접 복사한 다음 평소처럼 토글을 사용할 수 있습니다. .

//toggle plugin from caibaojian.com
$.fn.toggler = function( fn, fn2 ) {
    var args = arguments,guid = fn.guid || $.guid++,i=0,
    toggler = function( event ) {
      var lastToggle = ( $._data( this, "lastToggle" + fn.guid ) || 0 ) % i;
      $._data( this, "lastToggle" + fn.guid, lastToggle + 1 );
      event.preventDefault();
      return args[ lastToggle ].apply( this, arguments ) || false;
    };
    toggler.guid = guid;
    while ( i < args.length ) {
      args[ i++ ].guid = guid;
    }
    return this.click( toggler );
  };

사실 토글은 주로 혼란을 야기할 수 있기 때문에 제거되었으며 이미 jquery에서 구현될 수 있으므로 중복됩니다.

//code from http://caibaojian.com/jquery1-9-tutorial.html
$(&#39;#example&#39;).click(function(){$("#exampleBox").toggle();})


$(&#39;#example&#39;).click(function(){
    if($("#exampleBox").is(":visible")){
        $("#exampleBox").hide();
        do stuff
    }else{
        $("#exampleBox").show();
        do stuff
    }
})
$("#example").hover(function(){$("#exampleBox").toggle(); })

로 이렇게 수정하면 좀 더 명확해지지 않을까요?

아니면 클래스를 추가하여 표시하거나 숨길 수도 있습니다.


위 내용은 jquery1.9에서 삭제된 다이, 브라우저, 라이브, 서브, 토글 교체 방법 소개의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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