0

Canvas Container 接受输入(例如 mouse[over,up,down] 等),Kinetic JS 如何识别它已单击场景中的特定节点以及它如何维护堆栈信息意味着如果多个元素相交,哪个元素将发生事件

4

1 回答 1

0

您可以通过执行以下操作来检测单击了哪个节点:

layer.on('click', function(e) {
  var node = e.targetNode;
  alert(node.getName());
});

为了回答您的另一个问题,当多个元素相交时,顶部的元素将检测鼠标事件。

您可以使用该moveToTop()功能将元素移动到顶部以便能够检测元素http://kineticjs.com/docs/Kinetic.Node.html#moveToTop

circle.on('dragmove', function() {
  this.moveToTop();
});

有关示例,请参见下面的 JSFiddle。

JSFIDDLE

此外,检查getIntersection()方法http://kineticjs.com/docs/Kinetic.Stage.html#getIntersection以查看哪些元素与点相交。

于 2013-09-24T16:52:18.970 回答