如何创建jQuery类插件

时间:2017-02-11 08:45:45

标签: jquery jquery-plugins

我知道标题可能有些偏差或根本没有意义,但我一直想创建一个jQuery插件。我知道链接函数的常规方法但是如何使它初始化通知一个类或一个新对象,例如,一个PNotify插件,这就是它的初始化方式

new PNotify({
    title: 'Regular Notice',
    text: 'Check me out! I\'m a notice.'
});

所以我希望我的插件初始化相同,我该怎么做呢。感谢

2 个答案:

答案 0 :(得分:1)

看看this link这是一个js基础插件结构

(function() {
    'use strict';
    window.GENSPlugin = function() {

        // Global element references, to reference piece of plugin anywhere
        this.someElement = null;

        // Default Options
        var defaults = {
            firstOption: true,
            secondOption: 1
        }
        // Create options by extending defaults with the passed in arguments
        if (arguments[0] && typeof arguments[0] === "object") {
            this.options = extendDefaults(defaults, arguments[0]);
        }
        this.init();
    }
    // Public Method
    GENSPlugin.prototype.init = function() {
    }
    // Private Methods
    function somePrivateMethod() {
    }
    // Extend default Options
    function extendDefaults(defaults, properties) {
        var property;
        for (property in properties) {
            if (properties.hasOwnProperty(property)) {
                defaults[property] = properties[property];
            }
        }
        return defaults;
    }
}());
var GENSplugin = new GENSPlugin({
    firstOption: false,
    secondOption: 5
});

答案 1 :(得分:1)

默认情况下,JS函数可以是对象构造函数。例如:

function PNotify (params) {
  this.title = params.title;
  this.text  = params.text;

  // Do something jquery related here
}

你可以简单地称之为:

var pnotify = new PNotify({ title: "hello", text: "world" })

您可以详细了解here