0
我定義了兩個原型,每個原型包含不同的功能。單個腳本文件中的兩個原型引發問題
var sfSvgRender = function (element) {
this.svgLink = "http://www.w3.org/2000/svg";
this.svgObj = document.createElementNS(this.svgLink, "svg");
this._rootId = $(element).attr("id");
this.svgObj.setAttribute('id', this._rootId + '_svg');
};
sfSvgRender.prototype = new (function() {
this.drawPath = function (options, element) {
var path = document.createElementNS(this.svgLink, "path");
$(path).attr(options);
$(path).appendTo(element);
},
})();
var sfAxisRender = function (axis) {
this.currentAxis = axis;
};
sfAxisRender.prototye =new(function(){
this.drawText=function (options, label, groupEle, svgObj) {
var text = document.createElementNS(this.svgLink, "text");
$(text).attr(options);
$(text).html(label);
$(text).appendTo(groupEle);
$(groupEle).appendTo(svgObj);
}
})();
當我創造了兩個實例對象的第一對象將正常工作(即我們可以能夠訪問第一臺樣機的方法)
,但不能能夠訪問第二架原型機的方法。
this.svgRenderer = new sfSvgRender(this.element);
this.axisRender=new sfAxisRender(XAxis);
this.svgRenderer正常工作。但axisRender無法正常工作。
請勿[使用'new'來創建原型對象](http://stackoverflow.com/q/10406552/1048572)! – Bergi
究竟「不能正常工作」?你有任何錯誤? – Bergi
我無法從sfAxisRender原型訪問drawText的方法,但我可以訪問sfSVgRender原型/對象的所有方法。 – SivaRajini