У меня два разных этапа поверх другого. И я добавляю к ним слои и размещаю два объекта изображения.
Теперь я дал событие «щелчок» этим объектам изображения.
Однако, поскольку недавно добавленный слой находится поверх других слоев, только верхний слой инициирует события.
Проблема . При нажатии на фиолетовый индикатор появляется предупреждение. Но желтый индикатор не вызывает никаких событий, так как он находится за слоем.
(Проверьте JSFiddle ссылку внизу)
Как побороть эту проблему..?
Вот пример кода, который я использую для добавления и размещения изображения.
Рабочая ссылка JS Fiddle: http://jsfiddle.net/v4u2chat/aqf9Y/ 8/а>
ПРИМЕЧАНИЕ. Используйте ползунок, чтобы изменить положение изображения.
Код позиционирования изображения
$function positionImage(stage,centerX,centerY,radius,startingAngle,endingAngle,targetValue4ImagePositioning,divIdvalue)
{
var imgLayer = new Kinetic.Layer();
var angleInDegress = 360*targetValue4ImagePositioning-90-5;
var angleInRadians = (Math.PI/180)*angleInDegress;
imgLayer.rotate((Math.PI/180)*(360*targetValue4ImagePositioning));
var arcEndX = centerX+ ((radius+25)*Math.cos(angleInRadians));
var arcEndY = centerY+ ((radius+25)*Math.sin(angleInRadians));
imgLayer.setX(arcEndX);
imgLayer.setY(arcEndY);
var kineticImage = new Kinetic.Image(
{
x: 0
,y: 0
,width:18
,height:22
,image: $('#'+divIdvalue)[0]
,id:'kineticImage_'+divIdvalue
});
kineticImage.on("click", callBackFn);
imgLayer.add(kineticImage);
stage.add(imgLayer);
}