2012-08-29 4 views
1

는 내가 jQuery를 책이 건너 온 : 나는 쉽게 읽을 코드의 많은 부분을 제거jquery 함수의 점 표기법은 무엇입니까?

$(elems).mouseenter(function(e) { 
      $(this).css("opacity", 0.5); 
     }).mouseout(function(e) { 
      $(this).css("opacity", 1.0); 
     }) 

다음이 가지고 : 당신이 할 수있는

$(elems).mouseenter(function(e)).mouseout(function(e)) 

그것은 일반적으로 것 같아?

$(elems).mouseenter(function(e)).mouseout(function(e)).mouseSOMETHING1(function(e)) 

. 함수를 연결 하시겠습니까?

또한 나는이 말에이 코드 파산하는 경우 :

$(elems).mouseenter(function(e) {$(this).css("opacity", 0.5);}); 
$(elems).mouseout(function(e) {$(this).css("opacity", 1.0);}); 

이 같은인가를?

감사합니다, 짐

+1

로 작성하는 확실히 동일합니다

$(elems).mouseenter(function(e) {$(this).css("opacity", 0.5);}); $(elems).mouseout(function(e) {$(this).css("opacity", 1.0);}); 

난 내가 물어 봤다 질문의 문제에 투표를했다 몰랐다. 나는 항상 다른 사람들이 투표했다고 생각했다. 이 정보를 주셔서 감사합니다. 이전 질문으로 돌아가서이 물고기 갈고리를 찾으십시오. –

답변

2

그것은 작동합니다.

$(elems) //return jquery object 
    .mouseenter(/* ...*/) //return jquery object 
    .mouseout(/* ..*/)  //return jquery object 

이 방법으로 많은 기능을 연결할 수 있습니다.

$(elems).mouseenter(function(e) {$(this).css("opacity", 0.5);}); 
$(elems).mouseout(function(e) {$(this).css("opacity", 1.0);}); 

두 방법 2 방법 $(elems)를 얻을 불필요한 jQuery를 함수 호출을 수행하는 것을 제외하고 .. 기능적으로 동일하다.

+0

나는 이제까지 물어 본 질문에 대답 할 시간을 가진 사람에게 사과한다. 체크 마크가 그래픽으로 변경되면 "가장 좋은 답변으로 투표하십시오"또는 이와 유사한 것을 Stackoverflow에 새로 도입하는 것은 중대하게 도움이됩니다. –

6

네, 그렇습니다. jQuery의 핵심 기능 중 하나는 정확히 chainability입니다. 이것은 거의 모든 호출에서 jQuery 객체 자체를 반환하여 체인의 다음 메소드로 전달할 수 있도록합니다.

2

당신이 말하는 것은 메소드 체인 (method chaining)이라고 불리며, jQuery에서 잘 지원됩니다. 이 빠른 연습에서 살펴 보자 : 모든 기능의 jQuery 객체를 반환하기 때문에

Method chaining - The complete jQuery tutorial

1

$(elems).mouseenter(function(e)).mouseout(function(e)).mouseSOMETHING1(function(e))은 일반적으로 허용됩니다. jquery 함수가 문제의 jquery 객체를 반환하기 때문입니다. 당신이 그것을 쓸 때 : 그것은 $(elems).mouseenter().mouseout()

관련 문제