我知道在jquery你可以用类似的东西来做
$('#BTN')上('单击' {PARAM:'你好'},回调)。但是有了动力学,我似乎无法做到。有什么想法?
var Stage = new Kinetic.Stage({ container: 'SurfaceCircle', width: 70, height: 68 });
var topBtnLayer = new Kinetic.Layer({ id: 'top' });
var topBtn = new Kinetic.Shape({ drawFunc: function (context) {
context.moveTo(11, 10); context.arc(35, 34, 34, 1.25 * Math.PI, 1.75 * Math.PI, false); context.lineTo(44, 25); context.arc(35, 34, 12, 1.75 * Math.PI, 1.25 * Math.PI, true); context.lineTo(11, 10);
context.fillStrokeShape(this); context.stroke()
}, stroke: 'black', fill: 'yellow', strokeWidth: 2/, id: 'top'/, visible: true
});
topBtnLayer.add(topBtn).on('click tap',{param:'hello'}, callback);
我将得到运行时错误未捕获TypeError:对象#没有方法'调用'
答案 0 :(得分:0)
Kinetic对象事件系统(.on)只需要2个参数
在回调this
中是Kinetic对象。
因此,您可以在回调内可以访问的对象上设置属性。
topBtn.param="hello";
topBtn.on("click",function(){ alert(this.param); }); // click alerts "hello"