app.on("click", ".Thing", function(ev) {
console.log("you click " + ev.object.id);
});
obj.on("click", ".Marker", function(ev) {
console.log(ev.object.name);
});
// 事件1:
obj.on("click", function(ev) {
ev.object.style.color = "#FF0000";
});
// 事件2:
obj.on("click", function(ev) {
ev.object.scale = [2, 2, 2];
});
// 卸载 obj 全部的 click 事件
obj.off("click");
//模块1中:
obj.on("click",function(ev) {
ev.object.style.color = "#FF0000";
},"模块1");
//模块2中:
obj.on("click",function(ev) {
ev.object.scale = [2, 2, 2];
},"模块2");
//取消"模块1"的事件回调,不影响“模块2”的回调
obj.off("click",null ,"模块1");
//模块1:
obj.on("click",function(ev) {
ev.object.style.color = "#FF0000";
},"模块1");
//模块2:
obj.on("click",function(ev) {
ev.object.scale = [2, 2, 2];
},"模块2",51);
// 下例中是给每个楼层的注册了一次 EnterLevel 事件,即 每个楼层第一次进入时 都会响应
app.one(THING.EventType.EnterLevel, ‘.Floor‘, function (ev) {
console.log(ev.object.id);
})
// 如果只给某个楼层注册 如下
var floor = app.query(‘.Floor‘)[0];
floor.one(THING.EventType.EnterLevel, function (ev) {
console.log(ev.object.id);
})
原文:https://blog.51cto.com/u_15159105/2963926