jQuery 1.4: 당신 이 알 아야 할 새로운 특성 15 개

원본 주소:http://net.tutsplus.com/tutorials/javascript-ajax/jquery-1-4-released-the-15-new-features-you-must-know
jQuery 1.4 는 최근 에 발표 되 었 습 니 다. 이 버 전 은 간단 한 개선 이 아 닙 니 다. 새로운 특성 을 많이 포함 할 뿐만 아니 라 많은 기능 도 개선 하 였 을 뿐만 아니 라 성능 최적화 에 도 많은 공 을 들 였 습 니 다. 본 고 는 이러한 새로운 특성 과 강 화 된 부분 에 대해 토론 할 것 입 니 다. 도움 이 되 기 를 바 랍 니 다.
우선 지금 당신 은 여기에서 최신 1.4 버 전 을 다운로드 할 수 있 습 니 다.http://code.jquery.com/jquery-1.4.js
1. jQuery 에 게 속성 전달
1.4 이전 버 전에 서 jQuery 는 'attr' 방법 을 통 해 요소 집합 에 속성 을 추가 하 는 것 을 지원 했다. 'attr' 방법 은 속성 이름과 값 을 전달 할 수 있 을 뿐만 아니 라 여러 속성 을 포함 한 대상 집합 도 전달 할 수 있다.1.4 에서 새로운 대상 을 만 들 수 있 는 것 을 제외 하고 현재 속성 대상 을 매개 변수 로 jQuery 함수 나 대상 자체 에 전달 할 수 있 습 니 다.여러 속성 을 가 진 링크 요 소 를 만 들 수 있다 면 1.4 코드 를 통 해 다음 과 같 습 니 다.
jQuery('', { id: 'gid', href: 'http://www.google.com', title:' google 비 협조 판 ', rel:' external ', text:' Google 에 들 어 갑 니 다! '});
"text" 속성 을 주의 하고 무엇 을 하 는 지 추측 할 수 있 습 니 다. a 탭 은 "text" 속성 이 없 기 때 문 입 니 다.하하, 어떤 속성 을 전달 할 때 jquery 1.4 역시 자신의 방법 을 검사 하고 사용 합 니 다.따라서 위의 "text" 속성 은 jQuery 가 "text ()" 방법 을 사용 하고 "Google 에 들 어 갑 니 다!" 를 유일한 인자 로 사용 할 수 있 습 니 다.
여기 서 더 좋 은 예 를 제시 합 니 다.
jQuery ('< div / >', {id: 'foo', css: {fontWeight: 700, color: 'green'}, click: function () {alert ('Foo 가 클릭 되 었 습 니 다!');});
"id" 속성 은 일반 속성 으로 추 가 됩 니 다.그러나 "css" 와 "click" 속성 은 특정한 jQuery 방법 에 대응 합 니 다.위의 코드 는 1.4 이전에 다음 과 같이 썼 다.
jQuery ('< div / >'). attr ('id', 'foo'). css ({fontWeight: 700, color: 'green'}). click (function () {alert ('Foo 가 클릭 되 었 습 니 다!');});
jQuery 특성
2. 모든 것 을 "until" 할 수 있다
1.4 DOM 조작 방법 세 가 지 를 추 가 했 는데 그들 은 각각 'nextUntil' 이다.  " prevUntil "  화해시키다  "parentsUntil". 이 방법 들 은 지 정 된 선별 조건 을 충족 시 킬 때 까지 DOM 대상 을 한 순서 로 옮 겨 다 닙 니 다. 과일 목록 이 있다 고 가정 합 니 다.
< ul > < li > 사과 < / li > 바나나 < / li > 포도 < / li > 딸기 < / li > < li > 예 < / li > 복숭아 < / li > < / l >
'Apple' 과 'Strawberry' 사이 에 있 는 모든 요 소 를 선택 하고 싶다 면.코드 는 이렇게 쓸 수 있 습 니 다.
 jQuery('ul li:contains(  )').nextUntil(':contains(  )');  
 //      ,  ,  
 




    : prevUntil


, nextUntil


, parentsUntil




3. 여러 이벤트 연결
jquery 체인 을 통 해 여러 가지 방법 을 연결 하 는 것 보다 지금 은 한 번 의 조정 을 통 해 모든 사건 을 연결 할 수 있 습 니 다. 예 를 들 어:
jQuery ('\ # foo). bind ({click: function () {/ / 구체 코드}, mouseover: function () {/ 구체 코드}, mouseout: function () {/ 구체 코드})
너 도 '.one()' 방법 으로 조작 할 수 있다.
더 많은. bind (...)
4. Per-Property Easing
애니메이션 에 완 동 효과 만 정의 하 는 것 보다 애니메이션 효 과 를 추가 하려 는 속성 에 따라 완 동 함 수 를 정의 할 수 있 습 니 다.jQuery 는 두 개의 느 린 함수, 회전 (기본 값) 과 선형 이동 을 포함 합 니 다.다른 효과 가 필요 하 다 면 따로 다운로드 해 야 합 니 다!
각 속성 에 완 동 함 수 를 지정 하려 면 속성 배열 을 통 해 간단하게 목적 을 달성 할 수 있 습 니 다. 배열 에서 첫 번 째 값 은 당신 이 실현 하고 자 하 는 효과 값 이 고 두 번 째 매개 변 수 는 사용 하 는 완 동 함수 입 니 다. 예 를 들 어:
jQuery('#foo').animate({ left: 500, top: [500, 'easeOutBounce'] }, 2000);
코드 데모 보기!
선택 가능 한 설정 항목 에서 속성 완화 함 수 를 키 쌍 으로 지정 할 수 있 습 니 다.
jQuery('#foo').animate({ left: 500, top: 500 }, { duration: 2000, specialEasing: { top: 'easeOutBounce' } });
원문 작가 주 - 작은 겸손, 이 새로운 특성 은 작가 제 임 스 파 돌 리 의 아이디어!
per - property easing 에 대해 더 알 아 보기
5. 새로운 라 이브 이벤트!
1.4 'submit', 'change', 'focus',' blur '이벤트 에 대한 위탁 지원 을 추가 했다.jQuery 에 서 는 "live ()" 방법 으로 이 벤트 를 의뢰 할 수 있 습 니 다. 이 는 이벤트 가 많은 요소 에 등록 되 어야 하거나 새로운 요소 가 계속 추가 되 어야 합 니 다 (사용 ". live ()" 는 끊 임 없 는 재 연결 이벤트 보다 효율 적 입 니 다). 유용 합 니 다.
하지만 조심 하 세 요!"focus" 와 "blur" 이 벤트 를 의뢰 할 때 "focusin" 과 "focusout" 이벤트 이름 을 사용 해 야 합 니 다!

   
   
   
   
jQuery('input').live('focusin', function(){ // });

6.

jQuery
1.4 "proxy” , jQuery 。 , , 。
t"this” JavaScrip 。 , 。

1.4 jQuery

, "app” , , "clickHandler” , config 。

var app = { config: { clickMessage: ' !' }, clickHandler: function() { alert(this.config.clickMessage); } };

"app.clickHandler() " ,"clickHandler " "app” 。 "this " "app "。 :

app.clickHandler(); // " !"

jQuery('a').bind('click', app.clickHandler); , 。 jQuery( ) a

。 "this” a。 。 "this” "app”. jQuery
1.4 :

jQuery('a').bind( 'click', jQuery.proxy(app, 'clickHandler') );

 


," " !


proxy " " , ,"this” 。 , jQuery 。


jQuery.proxy


7.

。 , , "fx” 。 "setTimeout "。".delay() " 。

jQuery('#foo') .slideDown() // Slide down .delay(200) // 200 ms .fadeIn(); // Fade in

"fx” , , ".delay() "。

.delay(…)

8.

".has()” ,jQuery 1.4 ( ) 。 , jQuery selector ":has()” 。 。

jQuery('div').has('ul');


UL DIV 。 , (":has() "), , 。


1.4 jQuery "contains " 。 , DOM 。 。 :

jQuery.contains(document.documentElement, document.body); // true - <body> <html>

: .has(…) , jQuery.contains(…)

9.

".warp()” jQuery , ".unwrap()” 1.4 。 warp() 。 DOM :

<div> <p>Foo</p> </div> : jQuery('p').unwrap(); DOM :
<p>Foo</p>

, , 。


.unwrap(…)


10. detach() vs remove()


".detach()” DOM , ".remove()” 。 ".remove()”
"detach()” jQuery 。 ".data()” jQuery


DOM , DOM , 。


var foo = jQuery('#foo'); // foo.click(function(){ alert('Foo!'); }); foo.detach(); // DOM // … foo.appendTo('body'); // DOM foo.click(); // "Foo!"

.detach(…)


11. index(…)


jQuery 1.4 ".index()” 。 , , 。


, 。 , DOM :

<ul> <li> </li> <li> </li> <li> </li> <li> </li> <li> </li> <li> </li> </ul>

, , :


jQuery('li').click(function(){ alert( jQuery(this).index() ); });

 


jQuery 1.4 ".index()” , 。


, , , , -1。


.index(…)


12. DOM


DOM ( ".css()” ".attr()” , )。 , 。


:


  • after
  • before
  • append
  • prepend
  • addClass
  • toggleClass
  • removeClass
  • wrap
  • wrapAll
  • wrapInner
  • val
  • text
  • replaceWith
  • css
  • attr
  • html

, "this” , 。


jQuery('li').html(function(i){ return ' : ' + i; });

 


, , setter ( ".html()” ".attr(‘href’)") 。 :


jQuery('a').attr('href', function(i, currentHref){ return currentHref + '?foo=bar'; });

 


, ".css() " ".attr() " , , 。

jQuery('li').css('color', function(i, currentCssColor){ return i % 2 ? 'red' : 'blue'; });

 


13.


jQuery 1.4 ( jQuery ) 。


"isEmptyObject”, , ( --
)。 "isPlainObject”, js ( "{ }" "new
Object” )。


jQuery.isEmptyObject({}); // true jQuery.isEmptyObject({foo:1}); // false jQuery.isPlainObject({}); // true jQuery.isPlainObject(window); // false jQuery.isPlainObject(jQuery()); // false

 


: isPlainObject(…) , isEmptyObject(…)


14. Closest(…)


jQuery ".closest()” 。 , , 。


, 。 DOM 。 , jQuery 。


.closest(…)


15. ! focusIn focusOut


, "focus” "blur” , "focusin” "focusout”。 。


jQuery('form') .focusin(function(){ jQuery(this).addClass('focused'); }); .focusout(function(){ jQuery(this).removeClass('focused'); });

 


, 。 ( ) 。


focusIn focusOut


jQuery 1.4 。 jQuery , !


, 。 , !


, "jQuery14 ", jQuery 1.4 , , jQeury !


API   !

좋은 웹페이지 즐겨찾기