예를 들어 플러그인을 적용한 <select>
에서 옵션을 선택하면 실행되는 콜백 함수가 필요한 jQuery 플러그인을 작성하고 있습니다.
난 당신이 옵션의 기능을 정의 할 수 있습니다 플러그인이 같이 전달할 본 적이 :
$('div.foo').pluginBar({
option1: 'red',
someEvent: function() {
// Do stuff
}
});
내 플러그인 코드에서 기본 someEvent
함수를 정의 할 수 있도록하려면,하지만 경우 사용자가 전달하는 옵션에 해당 함수를 정의하면 기본 함수를 덮어 써야합니다. $.extend()
으로 가능합니까? 아니면 잘못된 장소를 볼까요?
튜토리얼 plugin authoring을 보았습니다. 그러나 기본 동작을 어디서나 확장한다고 생각하지 않습니다. 내가 init:
함수를 사용하는 것에 대해 읽었지만 함수 (내부에 플러그인 네임 스페이스)를 정의하고 플러그인에 전달 된 옵션으로 변경할 수 있습니다.
@ T.J.Crowder 죄송합니다, 더 많은 개인적인 좌절감이 들었습니다. 제거 할 것입니다. – Zirak
JavaScript (다른 대부분의 주요 주요 언어와 달리)에서 함수는 1 급 개체입니다. 즉, 이것을 포함하여 다른 종류의 객체 참조로 수행 할 수있는 함수 참조로 동일한 작업을 수행 할 수 있습니다. 해답은 방법을 보여 주지만, 취해야 할 핵심 포인트는 함수 참조가 객체 참조와 같은 값이라는 것입니다 (왜냐하면 그것들은 * 객체 참조이기 때문입니다). 대단히 유용합니다. :-) –
@ T.J.Crowder 설명 주셔서 대단히 감사드립니다. – Bojangles