当前位置: 首页 > 文档资料 > ThingJS 文档中心 >

Class: Selector

优质
小牛编辑
130浏览
2023-12-01

THING~ Selector

选择器


Selector()

See:

Members


draggable :Boolean

批量设置集合中的对象是否能被拖拽

Type:
  • Boolean

inheritAngles :Boolean

批量设置集合中的对象角度继承控制

Type:
  • Boolean

inheritPosition :Boolean

批量设置集合中的对象位置继承控制

Type:
  • Boolean

inheritScale :Boolean

批量设置集合中的对象缩放继承控制

Type:
  • Boolean

inheritStyle :Boolean

批量设置集合中的对象风格继承控制

Type:
  • Boolean

inheritVisible :Boolean

批量设置集合中的对象可见性继承控制

Type:
  • Boolean

pickable :Boolean

批量设置集合中的对象是否能被拾取

Type:
  • Boolean

style :THING.SelectorStyle

获取效果集合,获取后用于批量设置集合中的物体效果

Type:
Example
// 获取所有 Thing 类型物体的对象集合var sel = app.query('.Thing');// 获取效果结合,并设置物体颜色为红色sel.style.color = '#ff0000';

visible :Boolean

批量设置集合中的对象显示/隐藏

Type:
  • Boolean

Methods


add(param) → {THING.Selector}

从当前对象集合中添加其他对象 参数可以是 查询条件 或 物体对象 或 物体对象数组 或 其他 Selector 对象集合

Parameters:
NameTypeDescription
paramObject

参数列表

Returns:

处理之后的对象集合

Type
THING.Selector
Example
sel.add('car01').add(obj).add([obj1, obj2]).add(sel1);

clear()

清空集合(集合中的对象本身并没有删除)


destroyAll()

销毁对象集合中的所有对象(物体会被删除掉)


fadeIn(param)

淡入

Parameters:
NameTypeDescription
paramObject
Properties
NameTypeArgumentDescription
timeNumber<optional>

淡入时间(毫秒),默认 1s

completefunction<optional>

完成时的回调

Example
var sel = app.query('.Thing');sel.fadeIn();// 设置 时间 和 回调sel.fadeIn({  time:2000,  complete:function(){    THING.Utils.log('complete')  }})

fadeOut(param)

淡出

Parameters:
NameTypeDescription
paramObject
Properties
NameTypeArgumentDescription
timeNumber<optional>

淡出时间(毫秒),默认 1s

completefunction<optional>

完成时的回调

Example
var sel = app.query('.Thing');sel.fadeOut();// 设置 时间 和 回调sel.fadeOut({  time:2000,  complete:function(){    THING.Utils.log('complete')  }})

filter(callback) → {THING.Selector}

过滤元素

Parameters:
NameTypeDescription
callbackfunction

回调函数

Returns:
Type
THING.Selector

forEach(callback)

遍历对象

Parameters:
NameTypeDescription
callbackfunction

回调函数

Example
// 得到所有 Thing 类型物体的对象集合var sel = app.query('.Thing');// 遍历对象sel.forEach(function(obj){  THING.Utils.log(obj.name)})

has(object) → {Boolean}

判断集合中是否拥有某物体

Parameters:
NameTypeDescription
objectTHING.BaseObject

物体

Returns:
Type
Boolean

indexOf(object) → {Number}

获取对象集合中某物体的下标索引值 若对象集合中不包含此物体,则返回 -1

Parameters:
NameTypeDescription
objectTHING.BaseObject

物体

Returns:

下标值, -1 表示不存在

Type
Number
Example
// 获取 Thing 类型物体对象集合var sel = app.query('.Thing');// 根据 name 查询获取物体var obj = app.query('cabinetB1')[0];var index = sel.indexOf(obj);

not(param) → {THING.Selector}

从当前对象集合中排除部分对象 参数可以是 查询条件 或 物体对象 或 物体对象数组 或 其他 Selector 对象集合

Parameters:
NameTypeDescription
paramObject

参数列表

Returns:

处理之后的对象集合

Type
THING.Selector
Example
selector.not('car01').not(obj).not([obj1, obj2]).not(sel);

off(eventType, condition, callback)

移除事件绑定

Parameters:
NameTypeDescription
eventTypeTHING.EventType | String

事件名称

conditionString

物体类型选择条件

callbackfunction | String

事件触发的回调函数 或 事件标签(tag)

Example
sel.off('click',null,'tag1');sel.off('click','.Marker','tag2')

on(eventType [, condition] [, userData], cb [, tag])

绑定事件

Parameters:
NameTypeArgumentDescription
eventTypeTHING.EventType | String

事件名称

conditionString<optional>

物体类型选择条件,用于筛选子物体

userDataObject<optional>

事件绑定自定义数据

cbfunction

事件触发的回调函数

tagString<optional>

事件标签

Example
// 获取所有 Thing 类型物体var sel = app.query('.Thing');// 绑定 Click 事件sel.on('click',function(ev){  THING.Utils.log(ev.object.name);},'给所有Thing物体绑定点击事件')// 给所有 Thing 类型物体下的 Marker 对象绑定事件sel.on('click','.Marker',function(ev){  THING.Utils.log(ev.object.name);},'给Thing下的Marker绑定事件')

one(eventType [, condition] [, userData], callback [, tag])

绑定事件(只触发一次)

Parameters:
NameTypeArgumentDescription
eventTypeTHING.EventType | String

事件名称

conditionString<optional>

物体类型选择条件

userDataObject<optional>

事件绑定自定义数据

callbackfunction

事件触发的回调函数

tagString<optional>

事件标签


pauseEvent(eventType, condition [, tag])

暂停事件响应

Parameters:
NameTypeArgumentDescription
eventTypeTHING.EventType | String

事件名称

conditionString

物体类型选择条件

tagString<optional>

事件标签

Example
sel.pauseEvent('click',null,'tag1');sel.pauseEvent('click','.Marker','tag2')

query(param) → {THING.Selector}

在该对象集合中查询物体

Parameters:
NameTypeDescription
paramString

查询条件

Returns:

查询结果

Type
THING.Selector
Example
// 在对象集合中查询 id 为 001 的物体sel.query('#001');// 在对象集合中查询名称为 car01 的物体sel.query('car01');// 在对象集合中查询类型为 Thing 的物体sel.query('.Thing');// 在对象集合中查询自定义属性 [prop=value] 的物体sel.query('["userData/power" = 60]');// 在对象集合中查询名字(name)中包含 car 的物体sel.query(/car/);// 在对象集合中查询 满足条件1 或条件2,...sel.query('.Thing|.Building');// 字符串部分参考:http://www.w3school.com.cn/jquery/jquery_ref_selectors.asp

resumeEvent(eventType, condition [, tag])

恢复事件响应

Parameters:
NameTypeArgumentDescription
eventTypeTHING.EventType | String

事件名称

conditionString

物体类型选择条件

tagString<optional>

事件标签

Example
sel.resumeEvent('click',null,'tag1');sel.resumeEvent('click','.Marker','tag2')

reverse() → {THING.Selector}

反转集合中的对象顺序

Returns:
Type
THING.Selector

splice(index, number)

从集合中移除对象

Parameters:
NameTypeDescription
indexNumber

起始下标值,从此位置开始移除

numberNumber

删除多少个对象


toArray() → {Array}

把对象集合以数组形式返回

Returns:

数组

Type
Array
Example
var sel = app.query('.Thing');var arr = sel.toArray();

toJSON() → {String}

转换成 JSON 字符串

Returns:

字符串

Type
String
Example
var sel = app.query('.Thing');var jsonStr = sel.toJSON();

trigger(eventType, ev [, tag])

发送事件

Parameters:
NameTypeArgumentDescription
eventTypeTHING.EventType | String

事件名称

evObject

事件信息

tagString<optional>

事件标签

Example
// 获取所有的 Thing 类型物体集合 并触发自定义的 Alarm 事件var sel = app.query('.Thing');sel.trigger('Alarm', { level: 2 })// 监听绑定自定义的 Alarm 事件sel.on('Alarm', function (ev) {  var level = ev.level;})