2013-03-07 3 views
0

내가와 jQuery를 내 자신의 방법을 만들었습니다전화 자신의 방법은

$.fn.plop = function(){ 
    // Method 
}; 

그리고 내가 좋아하는 큐에 전화를하려고 해요 :

$(elems[0]).plop().delay(800).fadeOut(); 

그러나 파이어 폭스를 반환 오류 :

TypeError: $(...).plop(...) is undefined

무엇이 문제의 원인일까요? 감사.

+0

.plop()은 jQuery 객체를 반환합니까? –

+0

답변 주셔서 감사합니다. 제 경우에는 기본 JavaScript 함수 만 호출하면됩니다. 그래서 대기열에있는 ".animate ({opacity : 1}, {step : function() {plop();}})"함수를 사용하여 plop() 함수를 호출합니다. 다시 한 번 감사드립니다. – user2087256

답변

1

체인 가능하게하려면 함수에서 jQuery를 반환해야합니다. 다른 사람이 없다면 단순히 return $;.

예 : 이것은 당신이 .plop 실행할 수

$.fn.plop = function() { 
    return this.each(function() { 

     // Do something for each element 

    }); 
}; 

()에 :

$.fn.plop = function(){ 
    // Method 
    return this.html('bar'); // html() returns jQuery 
}; 

$('#myDiv').plop().delay(800).fadeOut(); 

http://jsfiddle.net/mUuhF/

0

제대로,이 같이 당신의 방법을 쓸 필요가 jQuery를 확장하려면 jQuery 요소의 컬렉션, 각 요소에 비헤이비어 또는 액션을 적용하고 원래의 컬렉션을 반환하므로 추가 메서드 ca를 계속 체인 할 수 있습니다. 그걸로.

관련 문제