2011-12-29 4 views
0

플러그인 작성자가되기 시작했으며 완전히 중단되지 않았습니다. 한 가지 문제는 두 개의 숫자가있는 곳에서 기본값을 만들고 싶습니다. 그리고 코드에 적용 할 수 있어야합니다.드래그 앤 드롭 플러그인 개발

는 내 말은 이런 식입니다 : 내가하고 싶은 일이

$('#drag').draggable({ 
grid: [1, 100] 
}); 

어느 :

var defaults = { 
numbers: [1, 2] 
} 

내가 JQuery와 팀을 드래그하여 그것을 어떻게 좋아한다. 어떤 아이디어?

답변

1

이렇게하는 한 가지 좋은 방법은 함께 첫 번째 개체에 두 개 이상의 객체의 내용을 병합하는 $.extend을 사용하는 것입니다 : 이제

(function($) { 
    $.fn.foobar = function(options) { 
     var settings = { 
      numbers: [1, 2] 
     }; 
     $.extend(settings, options); 

     /* continue with plugin code. */   

     alert(settings.numbers[0] + " " + settings.numbers[1]); 
    }; 
})(jQuery); 

settings은 사용자가 지정한 옵션과의 조합 "기본"옵션. 자세한 내용은 플러그인 제작 자습서의 this section을 참조하십시오.

예 :http://jsfiddle.net/2Djya/

P.S : 플러그인 작업이 jQueryUI source 자체가 얼마나 파악을위한 좋은 자원.

+0

대단히 감사합니다. – Shawn31313

0

단순화 플러그인 코드 :

$.fn.yourPlugin = function(conf){ 
    var config = $.extend({ 
     someVar : 'default' 
     , foo : 'anotherDefault' 
    }, conf); 

    return this.each(function(){ 
     // do stuff with $(this) and config 
    }); 
}; 

$.extend가 기본값을 설정하는 것을 만들 객체에 전달되는 conf에서 모든 PARAMS를 복사합니다.

+0

왜 투표가 내려 졌습니까? –