Javascript 未为分组层的子级激发KineticJS事件
我正在尝试将单击事件添加到图像(Javascript 未为分组层的子级激发KineticJS事件,javascript,jquery,kineticjs,jquery-events,Javascript,Jquery,Kineticjs,Jquery Events,我正在尝试将单击事件添加到图像(Kinetic.image)我正在添加到KineticJS阶段 当我使用一个简单的层次结构时,如下图所示(测试0),可以成功触发事件 但是,在更复杂的层次结构(测试1)中添加图像时,不会触发事件 我创建了一个演示这两种层次结构情况的 //舞台的画布容器 var container=$(“#container”).html(“”); //创造舞台 var阶段=新的动力学阶段({ 容器:container.attr(“id”), 宽度:container.wid
Kinetic.image
)我正在添加到KineticJS阶段
- 当我使用一个简单的层次结构时,如下图所示(测试0),可以成功触发事件李>
- 但是,在更复杂的层次结构(测试1)中添加图像时,不会触发事件
//舞台的画布容器
var container=$(“#container”).html(“”);
//创造舞台
var阶段=新的动力学阶段({
容器:container.attr(“id”),
宽度:container.width(),
高度:container.height()
});
//加载图像
var img=新图像();
img.onload=函数(){
//图像的尺寸
var w=此宽度;
var h=此高度;
//基层
var baseLayer=新动能层({
宽度:w,
身高:h
});
//团体
var group=新的动能.group();
//资产层
var assetLayer=新的动能层({
宽度:w,
身高:h
});
//动力学象元
var元素=新的动力学图像({
图片:这个,
宽度:w,
身高:h
});
//单击图像时发生的事件
元素上(“单击”,函数(){alert(“Image clicked”);});
//构建层次结构
assetLayer.add(元素);
添加组(assetLayer);
添加(组);
阶段。添加(基层);
//画舞台
stage.draw();
}
//从URL加载图像
img.src=”http://www.html5canvastutorials.com/demos/assets/lion.png";
我认为这可能与事件冒泡有关,并尝试更改层上的
侦听
属性,但不幸的是,这没有任何区别。任何建议都将不胜感激。我感觉您不能分组Kinetic.Layer
,只能分组Kinetic.Shape
。请参见本教程中的措辞:
我在你的小提琴上改了两行,我让它开始工作了:
替换:
assetLayer.add(element);
group.add(assetLayer);
与:
瞧!“单击”图像时会触发警报。我感觉您不能分组
Kinetic.Layer
,只能分组Kinetic.Shape
。请参见本教程中的措辞:
我在你的小提琴上改了两行,我让它开始工作了:
替换:
assetLayer.add(element);
group.add(assetLayer);
与:
瞧!“单击”图像会触发警报。谢谢。我知道这很简单。我忽略了层不能包含在组中。我应该意识到,我已经看到了这本书,并且误读了它。感谢您的帮助。+2,1用于代码/问题的出色可视化,1用于动能对象结构图的链接!:)谢谢我知道这很简单。我忽略了层不能包含在组中。我应该意识到,我已经看到了这本书,并且误读了它。感谢您的帮助。+2,1用于代码/问题的出色可视化,1用于动能对象结构图的链接!:)