2015-06-11 08:27:22
9. 选择器
Kinetic在舞台, 层和组对象上都提供了get方法, 用于返回这三者中包含的对象.
9.1. 根据ID获取对象
要用id获取对象, 首先要给对象赋予一个id, 比如下面代码创建的Rect的id就是id1:
# Language: js
<script>
var rect = new Kinetic.Rect({
id: "id1"
});
</script>
要注意的是, id是唯一的, 不同对象不能使用相同的id, 否则get也只能返回其中的一个.
然后用get方法, id选择符#为参数获取对象:
# Language: js
<script>
var obj = stage.get('#id1')[0];
var obj = layer.get('#id1')[0];
var obj = group.get('#id1')[0];
</script>
这个地方要注意, 这个get返回的是一个数组, 即便id是唯一的, 所以要得到所要的对象, 必须带上数组的索引.
9.2. 根据名称获取对象
要用名称获取对象, 首先要给对象赋予一个name名称, 比如下面代码创建的Rect的名称就是name1:
# Language: js
<script>
var rect = new Kinetic.Rect({
name: "name1"
});
</script>
与id不同, name不是唯一的, 不同对象是可以共用相同的name的.
然后用get方法, id选择符.为参数获取对象:
# Language: js
<script>
var objs = stage.get('.name1');
var objs = layer.get('.name1');
var objs = group.get('.name1');
</script>
这个地方要注意, 这个get返回的是一个数组, 包含所有叫这个名字的对象.