>

두 개의 범용 jquery 플러그인 파일을 만들었습니다. 'script1.js'및 'script2.js'

일부 프로젝트에는 'script1.js'가 필요하고 다른 프로젝트에는 'script2.js'가 필요합니다. 새 프로젝트에는이 두 개의 플러그인이 필요합니다.

이 플러그인을 동일한 네임 스페이스로 사용하려면 어떻게해야합니까?

제 네임 스페이스는 'abc'

입니다.

script1.js
----------
(function($)
{
    $.fn.abc = function ()
    {
        return
        {
            foo1: function()
            {
                console.log("foo1");
            },
            foo2: function()
            {
                console.log("foo2");
            }
        }
    };
})(jQuery);

와이즈 비즈

$(".element").abc().foo1(); //working fine - 'foo1'

두 번째 플러그인으로 첫 번째 플러그인을 확장 할 수 있습니까?

와이즈 비즈

foo1&foo2는 거의 모든 응용 프로그램이 필요합니다. 그러나 모든 응용 프로그램에 foo3이 필요한 것은 아닙니다. foo3은 더 큰 플러그인입니다.

script2.js ---------- (function($) { $.fn.abc = function () { return { foo3: function() { console.log("foo3"); } } }; })(jQuery);
  • 답변 # 1

    이 답변을 참조하십시오. jQuery 플러그인을 확장하는 가장 좋은 방법

    업데이트 : 기존 script1.js 플러그인을 편집 할 수있는 경우

    (function($) {
        $.fn.abc = function() {
            return {
                foo1: function() {
                    console.log("foo1");
                },
                foo2: function() {
                    console.log("foo2");
                },
                foo3: function() {
                    console.log("foo3");
                }
            }
        };
    })(jQuery);
    
    

    이 작업을 수행하십시오.

    .abc() 의 기능을 확장하려는 경우   .xyz() 의 기능을 가진 네임 스페이스

    $.fn.abc = function () {
         // here you can access public "members" of plugin xyz
         $.fn.pluginBar.foo3();
    }
    
    $.fn.xyz = function () {
        // private "members" (only this plugin can access them)
        var fn1 = function () { ... }
        var fn2 = function () { ... }
        return {
            foo3: function () { console.log("foo3") },
        };
    }
    
    

  • 이전 javascript - 내 json 요소를 어떻게 처리 할 수 ​​있습니까?
  • 다음 c++ - 파호 cpp - 정적 실행 파일로 컴파일