我怎么能在jQuery插件中调用函数?

时间:2014-04-30 09:04:25

标签: javascript jquery plugins

我怎么能打电话给这个功能' gotopage'在javascript下面?

我使用了' gotopage(5);'但是浏览器指出函数没有定义。那么在其他人中调用函数的正确答案是什么? jQuery插件?

;(function ($) {

$.fn.booklet = function (options, param1, param2) {

  //..............
};

function Booklet(inTarget, inOptions) {

    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    // PUBLIC FUNCTIONS
    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    return {
        init: init,
        enable: enable,
        disable: disable,
        destroy: destroy,
        next: next,
        prev: prev,
        gotopage: function (index) {
            //.............
            goToPage(index);
        },
        add: addPage,
        remove: removePage,
        option: function (name, value) {
           //.............
        }
    }
}

// define default options
$.fn.booklet.defaults = {
     //...........
}

})(jQuery);

3 个答案:

答案 0 :(得分:1)

" GotoPage记述"是一个功能"内部"另一个功能"小册子"这又是另一个匿名函数(据我所知)。

您无法直接从此功能外部调用此功能。你需要从相同的范围打电话。

通过阅读插件文档,可以快速找到解决方案:

$('#custom-goto').click(function(e){
    e.preventDefault();
    $('#mybook').booklet("gotopage", "end");
    });

答案 1 :(得分:0)

goToPage(index)是一个私有函数,无法在插件外部调用。尝试使用$ .fn全局创建函数。

  

$。fn.goToPage =函数(指数){   }

答案 2 :(得分:0)

希望这有助于..我还没有尝试过测试

 `(function ($) {

$.fn.booklet = function (options, param1, param2) {

    //..............
};

function Booklet(inTarget, inOptions) {

    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
    // PUBLIC FUNCTIONS
    /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

    return {
        init: init,
        enable: enable,
        disable: disable,
        destroy: destroy,
        next: next,
        prev: prev,
        gotopage: function (index) {
            //.............
            $.fn.goToPage(index);
        },
        add: addPage,
        remove: removePage,
        option: function (name, value) {
            //.............
        }
    }
}

// define default options
$.fn.booklet.defaults = {
    //...........
}
$.fn.goToPage=function(index){
 //function is now public
};

})(jQuery的);

`