BaseEvent
大约 2 分钟
BaseEvent
BaseEvent
事件派发对象继承自THREE.EventDispatcher
,事件派发机制是所有框架的基础功能之一。
// 新建一个事件派发对象
const evented = new VT.BaseEvent();
// 事件执行代码
function eventHandle(event) {
switch(event.type) {
case "alarm":
// 报警程序执行
break;
}
// ... 程序执行
}
// 监听 alarm 事件
evented.on("alarm", eventHandle);
// 派发 alarm 事件
evented.fire({type: "alarm", data: {cameraId: "0001111"}});
方法
once
监听事件,只执行一次
- once(type, listener)
- 类型:
{Function}
- 参数:
- type
{String}
事件类型 - listener
{Function}
监听执行方法
- type
// 监听一次拖拽开始事件
viewer.cameraControl.once("dragstart", (event) => {
// 事件程序
});
addEventListener
监听事件,只要事件派发就执行
- addEventListener(type, listener)
- 类型:
{Function}
- 参数:
- type
{String}
事件类型 - listener
{Function}
监听执行方法
- type
// 监听拖拽开始事件
viewer.cameraControl.addEventListener("dragstart", (event) => {
// 事件程序
});
on
监听事件,只要事件派发就执行,等同于addEventListener
- on(type, listener)
- 类型:
{Function}
- 参数:
- type
{String}
事件类型 - listener
{Function}
监听执行方法
- type
// 监听拖拽开始事件
viewer.cameraControl.on("dragstart", (event) => {
// 事件程序
});
dispatchEvent
派发事件
- dispatchEvent(event)
- 类型:
{Function}
- 参数:
- event
{Object}
事件对象 {type:EventType}
- event
// event为自定义对象
const event = {
type: "dragstart"
};
// 触发拖拽开始事件
viewer.cameraControl.dispatchEvent(event);
fire
派发事件
- fire(event)
- 类型:
{Function}
- 参数:
- event
{Object}
事件对象 {type:EventType}
- event
// event为自定义对象
const event = {
type: "dragstart"
};
// 触发拖拽开始事件
viewer.cameraControl.fire(event);
removeEventListener
移除监听事件
- removeEventListener(type, listener)
- 类型:
{Function}
- 参数:
- type
{String}
事件类型 - listener
{Function}
监听执行方法
- type
// 移除拖拽开始事件, listenerHandle
viewer.cameraControl.removeEventListener("dragstart", listenerHandle);
off
移除监听事件
- off(type, listener)
- 类型:
{Function}
- 参数:
- type
{String}
事件类型 - listener
{Function}
监听执行方法
- type
// 移除拖拽开始事件, listenerHandle
viewer.cameraControl.off("dragstart", listenerHandle);
hasEvent
是否包含事件
- hasEvent(type)
- 类型:
{Function}
- 参数:
- type
{String}
事件类型
- type
- 返回:
{Boolean}
viewer.cameraControl.hasEvent("dragstart");
resumeEvent
恢复事件监听
- resumeEvent(type, listener)
- 类型:
{Function}
- 参数:
- type
{String}
事件类型 - listener
{Function}
监听执行方法
- type
// 恢复拖拽开始事件监听, listenerHandle
viewer.cameraControl.resumeEvent("dragstart", listenerHandle);
pauseEvent
停止事件监听
- pauseEvent(type, listener)
- 类型:
{Function}
- 参数:
- type
{String}
事件类型 - listener
{Function}
监听执行方法
- type
// 暂停拖拽开始事件监听, listenerHandle
viewer.cameraControl.pauseEvent("dragstart", listenerHandle);