0

以下のプロトタイプを参照してください。

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 でプロトタイプ関数にアクセスするにはどうすればよいですか?

ありがとう、

シヴァ

4

2 に答える 2

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);

    }
};
于 2013-04-17T05:48:13.060 に答える
0

もう 1 つの解決策を見つけました。以下のコード スニペットを参照してください。

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

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

    }
};

ありがとう、

シヴァ

于 2013-04-17T05:58:56.753 に答える