如何在jquery中访问原型函数

时间:2013-04-17 05:44:50

标签: jquery prototype

请参考以下原型。

var sfSvgRender = function (element) {
    this.svgLink = "http://www.w3.org/2000/svg";


};
sfSvgRender.prototype = (function () {
    this.drawPath = function (options, element) {

        var path = document.createElementNS(this.svgLink, "path");
        $(path).attr(options);
        $(path).appendTo(element);

    }
})();

何时创建像这样的对象

var svgRenderObj= new sfSvgRender();

svgRenderObj仅包含“svgLink”属性。我无法访问“drawpath”功能。 如何在jquery中访问原型函数?

谢谢,

希瓦

2 个答案:

答案 0 :(得分:1)

您希望将原型设置为对象,因此您必须创建一个。使用new

sfSvgRender.prototype = new (function () {
    this.drawPath = function (options, element) {    
        var path = document.createElementNS(this.svgLink, "path");
        $(path).attr(options);
        $(path).appendTo(element);    
    }
})();

您还可以使用对象文字

sfSvgRender.prototype ={
    drawPath: function (options, element) {

        var path = document.createElementNS(this.svgLink, "path");
        $(path).attr(options);
        $(path).appendTo(element);

    }
};

答案 1 :(得分:0)

我找到了另一个解决方案。请参阅下面的代码段。

sfSvgRender.prototype ={
    drawPath: function (options, element) {

        var path = document.createElementNS(this.svgLink, "path");
        $(path).attr(options);
        $(path).appendTo(element);

    }
};

谢谢,

希瓦