JQuery-Plugin,让用户在插件中运行自定义函数

时间:2016-12-16 22:23:22

标签: jquery function jquery-plugins

我是JQuery-Plugins的新手,我试图创建一个插件,它接受用户编写的函数,并希望在我的插件的特定部分调用它。可悲的是,我真的不知道要找什么,而且到目前为止我找到的所有的物品似乎都没有给我我想要的答案。

我有一个JQuery-Plugin的以下代码

$.fn.plugin = function( options ) {
    var settings = $.extend({
        //FUNCTION MIGHT GO IN HERE?
    }, options );

    this.each(function() {

        $(this).click(function(){
            //RUN FUNCTION USER DEFINES ON CALL
        });

    return this;
};

我希望用户能够像这样调用它: (很可能会被称为其他代码,这个代码就像我想象的那样,让我更容易理解我想要实现的目标。

$("p").plugin(doStuff("foo"));    
function doStuff(param1){
    console.log(param1);
}

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:1)

回调函数应该在其中一个选项中。我们称之为onClick

$.fn.plugin = function( options ) {
    var settings = $.extend({
        onClick: function() {
            console.log("default");
        }
    }, options );

    this.each(function() {
        $(this).click(function(){
            settings.onClick();
        });

    return this;
};

然后你会通过提供一个函数来初始化插件:

$("p").plugin({
    onClick: function() {
        doStuff("foo");
    }
});
相关问题