我嘗試在KineticJS中創建方法。我添加了這個代碼:從一個對象引用原型方法到另一個JavaScript(KineticJS)
Kinetic.Circle.prototype.test = function(){
alert(1);
}
它的工作,但我想添加此方法不僅適用於圓,但層和更多。所以我嘗試使用此代碼
Kinetic.Node.prototype.test = function(){
alert(1);
}
,我有錯誤在我的控制檯:遺漏的類型錯誤:對象#有沒有方法「測試」。
我試圖在谷歌搜索一些解決方案,但我找不到它。
@EDITED 對於BERGI :) 我有其中層[LAYER_NAME] .object我創建Kinetic.Layer對象像下面的代碼層陣列:
layers.names[name]={
id:variable,
object:new Kinetic.Layer()
};
stage.add(layers.names[name].object);
是,階段之前創建在此代碼:
var stage=new Kinetic.Stage({
container:'canvas',
draggable:true,
height:document.documentElement.clientHeight,
width:document.documentElement.clientWidth
});
之後我加入點到我的對象數組:
var point=new Kinetic.Circle({
fill:'#000',
radius:3,
x:parent.children('input[name="x"]').val(),
y:parent.children('input[name="y"]').val()
});
var layer_name=$('input[name="layer"]').val();
layers.names[layer_name].object.add(point).draw();
而在這等一下我特林運行我的方法:
var layer_name=$('input[name="layer"]').val();
var point=layers.names[layer_name].object.children[$('input[name="element_index"]').val()];
point.test();
但在控制檯我只有我之前粘貼錯誤。
還請包括你如何嘗試調用它。 – Bergi 2014-09-03 19:55:39
@Bergi - 我爲你編輯過文章,希望它能幫助你嘗試幫助我。最好的祝福。 – user242302 2014-09-03 20:06:05