0
나는 레이어를 클릭 할 때 새 서클을 만들 수 있지만 이전에 만든 서클을 클릭하면 경고를 볼 수있는 "게임"을 만듭니다. 문제는 스테이지 만들기 onclick 이벤트가 항상 실행되므로 서클 생성을 중단 할 수 없다는 것입니다."onclick-event 대상"에 따라 모양 만들기
무대가 있으며 onclick 이벤트가 원을 만듭니다. 마지막으로
/*LAYER*/
var layer = new Kinetic.Layer();
layer.add(new Kinetic.Rect({
x: 0,
y: 0,
width: stage.width(), //full width
height: stage.height(), //full height
fill: 'yellow', //background color
}));
stage.add(layer);
그리고 마커 만들기 : 내가 클릭이 요소 상에 있다면 알 수 있도록 e.target를 사용하는 tryed,하지만 작동하지 않습니다 :
/*STAGE*/
var stage = new Kinetic.Stage({
container: 'container',
width: (window.innerWidth/100) * 80,
height: 200
});
stage.on('click', function(e) {
if(e.target !== Kinetic.Circle)
createMarker();
});
가 그럼 난 계층이 onclick 이벤트가 제대로 작동합니다.
/*MARKERS CREATION*/
var createMarker = function(){
var marker = new Kinetic.Circle({
x: stage.getPointerPosition().x,
y: stage.getPointerPosition().y,
radius: 20,
fill: 'red',
draggable: true
});
marker.on('click', function() {
alert("You clicked me!");
});
layer.add(marker);
layer.draw();
}
따라서 문제는 작업을 수행 할 대상을 식별하는 방법입니까? 사전에 감사합니다,
e.target !== Kinetic.Circle
는 항상 true를 돌려 createMarker()
를 호출하는 이유입니다, e.target의
http://jsfiddle.net/gal007/xzwohvy9/6/