Skip to content

@jtopo/core / InputSystem

Class: InputSystem<T> ​

输入系统(管理鼠标或触摸信息和状态), 基类

Type parameters ​

Name
T

Hierarchy ​

Table of contents ​

Constructors ​

Properties ​

Methods ​

Constructors ​

constructor ​

new InputSystem<T>(domElement)

Type parameters ​

Name
T

Parameters ​

NameType
domElementHTMLElement

Overrides ​

EventTarget.constructor

Properties ​

button ​

button: number


buttons ​

buttons: number


domElement ​

domElement: HTMLElement


dropTarget ​

dropTarget: T

当前拖拽时的目标对象


dx ​

dx: number

相对于上一次鼠标或指针x的移动增量(canvas坐标系)


dxInWorld ​

dxInWorld: number

世界坐标系下的x坐标增量


dy ​

dy: number

相对于上一次鼠标或指针y的移动增量(canvas坐标系)


dyInWorld ​

dyInWorld: number

世界坐标系下的y坐标增量


event ​

event: PointerEvent | TouchEvent

原始的事件对象


eventObservable ​

eventObservable: Observable<PointerEvent | TouchEvent>


idleTimeout ​

idleTimeout: number

鼠标或指针空闲时间, 50毫秒内没有动作时认为空闲


isDragEnd ​

isDragEnd: boolean

状态: 是否拖拽结束


isDragStart ​

isDragStart: boolean

状态: 是否拖拽的开始


isDraging ​

isDraging: boolean

状态: 是否在拖拽中


isIdle ​

isIdle: boolean

状态: 鼠标或指针是否空闲


isPointerDown ​

isPointerDown: boolean

鼠标或指针是否按下


isPointerOn ​

isPointerOn: boolean

状态: 鼠标或指针是否在画布上


isRightButton ​

isRightButton: boolean

是否右键 (鼠标设备时)


mouseoverTarget ​

mouseoverTarget: T

当前鼠标指向的对象


pointerDownX ​

pointerDownX: number

鼠标按下时的坐标(canvas坐标)


pointerDownY ​

pointerDownY: number

鼠标松开时的坐标(canvas坐标)


preMouseoverTarget ​

preMouseoverTarget: T

上一次鼠标指向的对象


preTarget ​

preTarget: T

上一次鼠标选中的对象


previous ​

previous: PreviousType

上一次事件的状态记录


skipPointerMovePicking ​

skipPointerMovePicking: boolean

忽略一些事件 来提高性能、降低能耗

图元对象不再触发和响应 pointermove、pointerenter、pointerout事件


target ​

target: T

当前鼠标选中的对象


type ​

type: "click" | "dblclick" | "dragend" | "dragover" | "dragstart" | "drop" | "pointerdown" | "pointerenter" | "pointermove" | "pointerout" | "pointerup" | "touchend" | "touchmove" | "touchstart" | "wheel"


x ​

x: number

鼠标或指针的屏幕坐标x(canvas左上角为0,0)


xInWorld ​

xInWorld: number

鼠标或指针在世界坐标系下的x坐标


y ​

y: number

鼠标或指针的屏幕坐标y(canvas左上角为0,0)


yInWorld ​

yInWorld: number

鼠标或指针在世界坐标系下的y坐标

Methods ​

addEventListener ​

addEventListener<K>(type, callback): () => void

增加事件监听

Type parameters ​

NameType
Kextends "click" | "dblclick" | "dragend" | "dragover" | "dragstart" | "drop" | "pointerdown" | "pointerenter" | "pointermove" | "pointerout" | "pointerup" | "touchend" | "touchmove" | "touchstart" | "wheel"

Parameters ​

NameTypeDescription
typeK事件类型
callbackEventCallback_2<EventsMap_2[K]>

Returns ​

fn

(): void

增加事件监听

Param

事件类型

Param

Returns ​

void

Inherited from ​

EventTarget.addEventListener


dispatchEvent ​

dispatchEvent(event): void

分发事件

Parameters ​

NameType
eventObject

Returns ​

void

Inherited from ​

EventTarget.dispatchEvent


hasListener ​

hasListener<K>(type): boolean

是否有该类型的监听

Type parameters ​

NameType
Kextends "click" | "dblclick" | "dragend" | "dragover" | "dragstart" | "drop" | "pointerdown" | "pointerenter" | "pointermove" | "pointerout" | "pointerup" | "touchend" | "touchmove" | "touchstart" | "wheel"

Parameters ​

NameType
typeK

Returns ​

boolean

Inherited from ​

EventTarget.hasListener


on ​

on<K>(type, callback): () => void

addEventLister的别名

Type parameters ​

NameType
Kextends "click" | "dblclick" | "dragend" | "dragover" | "dragstart" | "drop" | "pointerdown" | "pointerenter" | "pointermove" | "pointerout" | "pointerup" | "touchend" | "touchmove" | "touchstart" | "wheel"

Parameters ​

NameType
typeK
callbackEventCallback_2<EventsMap_2[K]>

Returns ​

fn

(): void

addEventLister的别名

Returns ​

void

Inherited from ​

EventTarget.on


preventDefault ​

preventDefault(): void

Deprecated

Returns ​

void


removeEventListener ​

removeEventListener<K>(type, callback): any

移除一个事件监听

Type parameters ​

NameType
Kextends "click" | "dblclick" | "dragend" | "dragover" | "dragstart" | "drop" | "pointerdown" | "pointerenter" | "pointermove" | "pointerout" | "pointerup" | "touchend" | "touchmove" | "touchstart" | "wheel"

Parameters ​

NameType
typeK
callbackEventCallback_2<EventsMap_2[K]>

Returns ​

any

Inherited from ​

EventTarget.removeEventListener


reset ​

reset(): void

Returns ​

void