layer.find获胜't通过id返回kinetijs对象,尽管它存在
layer.find won't return a kineticjs object by id although it exists
我有以下问题:我创建了两个不同的customObjects,其中包括一些kineticjs对象。在每一个上面我都有一些Kinetijs线条。行的id在自定义对象内部是不同的,但可能是两个不同mycustom对象之间的id。意思是
mycustomobj1 hass lines with id1, id2, id3, id4
mycustomobj2 has also lines with id1, id2, id3, id4
每条线都放在一个组中,层上的组比如lineGroup和basicLayer一个线组中有许多线路
我在mycustomoj1 上执行以下操作
mycustomobj1.lineGroup.getChildren()
并将该组中的所有行返回给我。其中一个与id1一致。但当我做时
mycstomobj1.basicLayer.find("#id1");
我得到一个空数组。
可能出了什么问题?
以及示例代码。我已经从我的obect(lineGroup)中提取了行
lines.getChildren()[11]
Kinetic.Line
{nodeType: "Shape",
_fillFunc: function,
_strokeFunc: function,
_fillFuncHit: function,
_strokeFuncHit: function…}
_cache: Object
_fillFunc: function a(a){a.fill()}
_fillFuncHit: function c(a){a.fill()}
_filterUpToDate:
false_id: 47
_strokeFunc: function b(a){a.stroke()}
_strokeFuncHit: function d(a){a.stroke()}
attrs: Object
id: "red0"
points: Array[48]
sceneFunc: function (a){var b,c,d,e=this.getPoints(),f=e.length,g=this.getTension(),h=this.getClosed();if(a.beginPath(),a.moveTo(e[0],e[1]),0!==g&&f>4){for(b=this.getTensionPoints(),c=b.length,d=h?0:4,h||a.quadraticCurveTo(b[0],b[1],b[2],b[3]);c-2>d;)a.bezierCurveTo(b[d++],b[d++],b[d++],b[d++],b[d++],b[d++]);h||a.quadraticCurveTo(b[c-2],b[c-1],e[f-2],e[f-1])}else for(d=2;f>d;d+=2)a.lineTo(e[d],e[d+1]);h?(a.closePath(),a.fillStrokeShape(this)):a.strokeShape(this)}stroke: "red"strokeWidth: 2
__proto__: Object
className:"Line"
colorKey: "#372306"
eventListeners: Object
index: 11
nodeType: "Shape"
parent: Kinetic.Group__proto__: Object
lines.find("#red0")
[]
编辑:在将id更改为在它们之间和对象之间唯一后,它起了作用,但我认为这不是正确的行为。
Node
的每个id
必须是唯一的。尝试使用deffirent id
。这是由KineticJS设计的。如果不需要唯一值,则可以使用name
属性。
相关文章:
- 引用对象中的通用值
- jQuery匹配JSON对象的部分文本
- 节点导出返回一个空对象
- 如何在Javascript中将JSon对象转换为数组
- 我可以在json对象中添加一个函数吗
- 使用JS将数组转换为json对象
- 全局变量和全局对象的属性之间有什么区别吗
- 比较从函数和生成的日期对象
- Javascript,访问一个主要对象模块模式中的每个对象
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- 调整窗口大小时,可拖动的对象会出现在容器外部
- 如何使用javascript从主svg对象动态创建svg视图框
- 如何使用json将对象列表从java转换为javascript
- 序列化数据属性中对象的最可靠方法
- 如何访问声音管理器2创建的声音对象
- FabricJs-限制主对象内添加对象的移动区域
- Javascript(Angular)从一个对象数组到第二个数组查找值
- 值对象在某个变量发生更改后发生更改
- 如何为json对象中的段发送array[]
- layer.find获胜't通过id返回kinetijs对象,尽管它存在