2011-07-30 3 views
0

플러그인을 설정 한 후 플러그인 내에서 기본값을 변경하는 방법이 있습니까? 예를 들어.jQuery 플러그인 기본값

var defaults = { 
imageWidth : w, 
imageHeight : h 
}; 

나중에 코드에서 imageWidth 값을 다시 변경하려고합니다.

+0

플러그인 소스에 연결할 수 있습니까? –

답변

3

어쩌면 플러그인에 따라 달라질 수 있습니다. 다음과 같이 보이는 경우 :

(function() { 
    var defaults = { /* ... */ }; 
    // Rest of the plugin goes here. 
})(); 

그런 다음 운이 없네요. 그러나 꽤 많은 플러그인으로 기본값을 게시 : plugin이 플러그인 이름입니다

$.fn.plugin.defaults 

. 기본 설정을 공개적으로 액세스 할 수있는 경우 (또는 플러그인을 해킹하여 공개하려는 경우) 언제든지 기본값을 변경할 수 있습니다. 물론 새로운 기본값은 기존 인스턴스에는 적용되지 않습니다.


이 플러그인을 사용하면 자신의 아키텍처가 조금 벗어난 것 같습니다. "전체 화면"대 "지정된 너비 및 높이"구성은 플러그인의 옵션이어야하며 기본값을 현명한 것으로 남겨 두어야합니다 (여기서 "현명한"은 항상 상황에 따라 다릅니다). 그럼 그냥이 말 것 : 또한 필요에 따라 합리적인 기본 설정을 변경할 수 있도록 $.fn.plugin.defaults 트릭을 사용할 수

$(x).plugin({ fullscreen: true }); // Full screen 
// or 
$(y).plugin({ w: 11, h: 23 });  // Specific dimensions 

.

+0

사실 내 플러그인입니다. 나중에 플러그 인에서 기본값을 재설정하고 싶습니다. 기본적으로 너비 또는 전체 화면을 지정하는 옵션이 있습니다. 전체 화면 인 경우 브라우저 너비를 가져야하지만 일단 너비를 설정하면 플러그인에서 나중에 다시 설정할 수 없습니다. –

+0

@Ian : 이에 대한 아이디어를 추가했습니다. –

+0

전체 화면이 옵션이고 기본값이 false이고 높이와 너비가 기본값으로 이미지 크기 인 경우 잘 모르겠다면 전체 화면인지 알기 전에 옵션을 확인해야합니다. 너비가 이미 설정되었으므로 다시 재설정해야합니다. –