2014-03-02 4 views
0

jquery에서 알아 두어야 할 것은
$ ('# btn'). on ('click', {param : 'hello'}, 콜백)입니다. 그러나 키네틱과 함께, 나는 그것을 할 수없는 것 같습니다. 어떤 생각?
var Stage = new Kinetic.Stage({ container: 'SurfaceCircle', width: 70, height: 68 }); var topBtnLayer = new Kinetic.Layer({ id: 'top' });kineticjs가 onclick의 콜백 함수에 매개 변수를 전달합니다.

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

나는 런타임 오류를 얻을 것이다 catch되지 않은 형식 오류 : 개체 번호가있는 방법 '호출'

답변

0

운동 객체 이벤 팅 시스템 (CSTE 연구진은) 필요가없는 경우에만이 매개 변수

  • 이벤트 유형 (예 : "클릭")
  • 콜백 함수를 수신하는

콜백에서 this은 키네틱 객체입니다.

따라서 콜백 내에서 액세스 할 수있는 개체의 속성을 설정할 수 있습니다.

topBtn.param="hello"; 

topBtn.on("click",function(){ alert(this.param); }); // click alerts "hello" 

데모 : http://jsfiddle.net/m1erickson/5QRAA/