@interactjs / core/InteractStatic / InteractStatic
Interface: InteractStatic
core/InteractStatic.InteractStatic
interact('#draggable').draggable(true)
var rectables = interact('rect')
rectables
.gesturable(true)
.on('gesturemove', function (event) {
// ...
})
The methods of this variable can be used to set elements as interactables and also to change various default settings.
Calling it as a function and passing an element or a valid CSS selector string returns an Interactable object which has various methods to configure it.
Param
The HTML or SVG Element to interact with or CSS selector
Callable
InteractStatic
â–¸ InteractStatic(target, options?): Interactable
Parameters
| Name | Type |
|---|---|
target | Target |
options? | Options |
Returns
Defined in
Table of contents
Properties
- closest
- createSnapGrid
- dynamicDrop
- getElementClientRect
- getElementRect
- getPointerAverage
- getTouchAngle
- getTouchBBox
- getTouchDistance
- matchesSelector
- maxInteractions
- modifiers
- snappers
- version
Methods
- addDocument
- debug
- isSet
- off
- on
- pointerMoveTolerance
- removeDocument
- stop
- supportsPointerEvent
- supportsTouch
- use
Properties
closest
• closest: (element: Node, selector: string) => HTMLElement | SVGElement
Type declaration
â–¸ (element, selector): HTMLElement | SVGElement
Parameters
| Name | Type |
|---|---|
element | Node |
selector | string |
Returns
HTMLElement | SVGElement
Defined in
createSnapGrid
• createSnapGrid: (grid: GridOptions) => SnapFunction & { coordFields: (readonly ["x", "y"] | readonly ["left", "top"] | readonly ["right", "bottom"] | readonly ["width", "height"])[] ; grid: GridOptions }
Type declaration
â–¸ (grid): SnapFunction & { coordFields: (readonly ["x", "y"] | readonly ["left", "top"] | readonly ["right", "bottom"] | readonly ["width", "height"])[] ; grid: GridOptions }
Parameters
| Name | Type |
|---|---|
grid | GridOptions |
Returns
SnapFunction & { coordFields: (readonly ["x", "y"] | readonly ["left", "top"] | readonly ["right", "bottom"] | readonly ["width", "height"])[] ; grid: GridOptions }
Defined in
dynamicDrop
• dynamicDrop: (newValue?: boolean) => boolean | InteractStatic
Type declaration
â–¸ (newValue?): boolean | InteractStatic
Returns or sets whether the dimensions of dropzone elements are calculated on every dragmove or only on dragstart for the default dropChecker
Parameters
| Name | Type | Description |
|---|---|---|
newValue? | boolean | True to check on each move. False to check only before start |
Returns
boolean | InteractStatic
The current setting or interact
Defined in
getElementClientRect
• getElementClientRect: (element: Element) => Required<Rect>
Type declaration
â–¸ (element): Required<Rect>
Parameters
| Name | Type |
|---|---|
element | Element |
Returns
Required<Rect>
Defined in
getElementRect
• getElementRect: (element: Element) => Required<Rect>
Type declaration
â–¸ (element): Required<Rect>
Parameters
| Name | Type |
|---|---|
element | Element |
Returns
Required<Rect>
Defined in
getPointerAverage
• getPointerAverage: (pointers: PointerType[]) => { clientX: number = 0; clientY: number = 0; pageX: number = 0; pageY: number = 0; screenX: number = 0; screenY: number = 0 }
Type declaration
â–¸ (pointers): Object
Parameters
| Name | Type |
|---|---|
pointers | PointerType[] |
Returns
Object
| Name | Type |
|---|---|
clientX | number |
clientY | number |
pageX | number |
pageY | number |
screenX | number |
screenY | number |
Defined in
getTouchAngle
• getTouchAngle: (event: TouchEvent | PointerType[], deltaSource: string) => number
Type declaration
â–¸ (event, deltaSource): number
Parameters
| Name | Type |
|---|---|
event | TouchEvent | PointerType[] |
deltaSource | string |
Returns
number
Defined in
getTouchBBox
• getTouchBBox: (event: PointerType[]) => { bottom: number = maxY; height: number ; left: number = minX; right: number = maxX; top: number = minY; width: number ; x: number = minX; y: number = minY }
Type declaration
â–¸ (event): Object
Parameters
| Name | Type |
|---|---|
event | PointerType[] |
Returns
Object
| Name | Type |
|---|---|
bottom | number |
height | number |
left | number |
right | number |
top | number |
width | number |
x | number |
y | number |
Defined in
getTouchDistance
• getTouchDistance: (event: TouchEvent | PointerType[], deltaSource: string) => number
Type declaration
â–¸ (event, deltaSource): number
Parameters
| Name | Type |
|---|---|
event | TouchEvent | PointerType[] |
deltaSource | string |
Returns
number
Defined in
matchesSelector
• matchesSelector: (element: Element, selector: string) => boolean
Type declaration
â–¸ (element, selector): boolean
Parameters
| Name | Type |
|---|---|
element | Element |
selector | string |
Returns
boolean
Defined in
maxInteractions
• maxInteractions: (newValue: any) => any
Type declaration
â–¸ (newValue): any
Returns or sets the maximum number of concurrent interactions allowed. By default only 1 interaction is allowed at a time (for backwards compatibility). To allow multiple interactions on the same Interactables and elements, you need to enable it in the draggable, resizable and gesturable 'max' and 'maxPerElement' options.
Parameters
| Name | Type | Description |
|---|---|---|
newValue | any | Any number. newValue <= 0 means no interactions. |
Returns
any
Defined in
modifiers
• modifiers: Object
Type declaration
| Name | Type |
|---|---|
aspectRatio | (_options?: Partial<AspectRatioOptions>) => Modifier<AspectRatioOptions, AspectRatioState, "aspectRatio", unknown> |
aspectRatio._defaults | AspectRatioOptions |
aspectRatio._methods | { beforeEnd: (arg: ModifierArg<AspectRatioState>) => void | Point = module.beforeEnd; set: (arg: ModifierArg<AspectRatioState>) => unknown = module.set; start: (arg: ModifierArg<AspectRatioState>) => void = module.start; stop: (arg: ModifierArg<AspectRatioState>) => void = module.stop } |
aspectRatio._methods.beforeEnd | (arg: ModifierArg<AspectRatioState>) => void | Point |
aspectRatio._methods.set | (arg: ModifierArg<AspectRatioState>) => unknown |
aspectRatio._methods.start | (arg: ModifierArg<AspectRatioState>) => void |
aspectRatio._methods.stop | (arg: ModifierArg<AspectRatioState>) => void |
avoid | ModifierFunction<any, any, "noop"> |
restrict | (_options?: Partial<RestrictOptions>) => Modifier<RestrictOptions, RestrictState, "restrict", unknown> |
restrict._defaults | RestrictOptions |
restrict._methods | { beforeEnd: (arg: ModifierArg<RestrictState>) => void | Point = module.beforeEnd; set: (arg: ModifierArg<RestrictState>) => unknown = module.set; start: (arg: ModifierArg<RestrictState>) => void = module.start; stop: (arg: ModifierArg<RestrictState>) => void = module.stop } |
restrict._methods.beforeEnd | (arg: ModifierArg<RestrictState>) => void | Point |
restrict._methods.set | (arg: ModifierArg<RestrictState>) => unknown |
restrict._methods.start | (arg: ModifierArg<RestrictState>) => void |
restrict._methods.stop | (arg: ModifierArg<RestrictState>) => void |
restrictEdges | (_options?: Partial<RestrictEdgesOptions>) => Modifier<RestrictEdgesOptions, RestrictEdgesState, "restrictEdges", void> |
restrictEdges._defaults | RestrictEdgesOptions |
restrictEdges._methods | { beforeEnd: (arg: ModifierArg<RestrictEdgesState>) => void | Point = module.beforeEnd; set: (arg: ModifierArg<RestrictEdgesState>) => void = module.set; start: (arg: ModifierArg<RestrictEdgesState>) => void = module.start; stop: (arg: ModifierArg<RestrictEdgesState>) => void = module.stop } |
restrictEdges._methods.beforeEnd | (arg: ModifierArg<RestrictEdgesState>) => void | Point |
restrictEdges._methods.set | (arg: ModifierArg<RestrictEdgesState>) => void |
restrictEdges._methods.start | (arg: ModifierArg<RestrictEdgesState>) => void |
restrictEdges._methods.stop | (arg: ModifierArg<RestrictEdgesState>) => void |
restrictRect | (_options?: Partial<RestrictOptions & { elementRect: }>) => Modifier<RestrictOptions & { elementRect: }, RestrictState, "restrictRect", unknown> |
restrictRect._defaults | RestrictOptions & { elementRect: } |
restrictRect._methods | { beforeEnd: (arg: ModifierArg<RestrictState>) => void | Point = module.beforeEnd; set: (arg: ModifierArg<RestrictState>) => unknown = module.set; start: (arg: ModifierArg<RestrictState>) => void = module.start; stop: (arg: ModifierArg<RestrictState>) => void = module.stop } |
restrictRect._methods.beforeEnd | (arg: ModifierArg<RestrictState>) => void | Point |
restrictRect._methods.set | (arg: ModifierArg<RestrictState>) => unknown |
restrictRect._methods.start | (arg: ModifierArg<RestrictState>) => void |
restrictRect._methods.stop | (arg: ModifierArg<RestrictState>) => void |
restrictSize | (_options?: Partial<RestrictSizeOptions>) => Modifier<RestrictSizeOptions, RestrictEdgesState, "restrictSize", void> |
restrictSize._defaults | RestrictSizeOptions |
restrictSize._methods | { beforeEnd: (arg: ModifierArg<RestrictEdgesState>) => void | Point = module.beforeEnd; set: (arg: ModifierArg<RestrictEdgesState>) => void = module.set; start: (arg: ModifierArg<RestrictEdgesState>) => void = module.start; stop: (arg: ModifierArg<RestrictEdgesState>) => void = module.stop } |
restrictSize._methods.beforeEnd | (arg: ModifierArg<RestrictEdgesState>) => void | Point |
restrictSize._methods.set | (arg: ModifierArg<RestrictEdgesState>) => void |
restrictSize._methods.start | (arg: ModifierArg<RestrictEdgesState>) => void |
restrictSize._methods.stop | (arg: ModifierArg<RestrictEdgesState>) => void |
rubberband | ModifierFunction<any, any, "noop"> |
snap | (_options?: Partial<SnapOptions>) => Modifier<SnapOptions, SnapState, "snap", { delta: { x: number = 0; y: number = 0 } ; distance: number = 0; inRange: boolean = false; range: number = 0; target: any = null }> |
snap._defaults | SnapOptions |
snap._methods | { beforeEnd: (arg: ModifierArg<SnapState>) => void | Point = module.beforeEnd; set: (arg: ModifierArg<SnapState>) => { delta: { x: number = 0; y: number = 0 } ; distance: number = 0; inRange: boolean = false; range: number = 0; target: any = null } = module.set; start: (arg: ModifierArg<SnapState>) => void = module.start; stop: (arg: ModifierArg<SnapState>) => void = module.stop } |
snap._methods.beforeEnd | (arg: ModifierArg<SnapState>) => void | Point |
snap._methods.set | (arg: ModifierArg<SnapState>) => { delta: { x: number = 0; y: number = 0 } ; distance: number = 0; inRange: boolean = false; range: number = 0; target: any = null } |
snap._methods.start | (arg: ModifierArg<SnapState>) => void |
snap._methods.stop | (arg: ModifierArg<SnapState>) => void |
snapEdges | (_options?: Partial<SnapEdgesOptions>) => Modifier<SnapEdgesOptions, SnapState, "snapEdges", { delta: { x: number = 0; y: number = 0 } ; distance: number = 0; inRange: boolean = false; range: number = 0; target: any = null }> |
snapEdges._defaults | SnapEdgesOptions |
snapEdges._methods | { beforeEnd: (arg: ModifierArg<SnapState>) => void | Point = module.beforeEnd; set: (arg: ModifierArg<SnapState>) => { delta: { x: number = 0; y: number = 0 } ; distance: number = 0; inRange: boolean = false; range: number = 0; target: any = null } = module.set; start: (arg: ModifierArg<SnapState>) => void = module.start; stop: (arg: ModifierArg<SnapState>) => void = module.stop } |
snapEdges._methods.beforeEnd | (arg: ModifierArg<SnapState>) => void | Point |
snapEdges._methods.set | (arg: ModifierArg<SnapState>) => { delta: { x: number = 0; y: number = 0 } ; distance: number = 0; inRange: boolean = false; range: number = 0; target: any = null } |
snapEdges._methods.start | (arg: ModifierArg<SnapState>) => void |
snapEdges._methods.stop | (arg: ModifierArg<SnapState>) => void |
snapSize | (_options?: Partial<SnapSizeOptions>) => Modifier<SnapSizeOptions, SnapState, "snapSize", { delta: { x: number = 0; y: number = 0 } ; distance: number = 0; inRange: boolean = false; range: number = 0; target: any = null }> |
snapSize._defaults | SnapSizeOptions |
snapSize._methods | { beforeEnd: (arg: ModifierArg<SnapState>) => void | Point = module.beforeEnd; set: (arg: ModifierArg<SnapState>) => { delta: { x: number = 0; y: number = 0 } ; distance: number = 0; inRange: boolean = false; range: number = 0; target: any = null } = module.set; start: (arg: ModifierArg<SnapState>) => void = module.start; stop: (arg: ModifierArg<SnapState>) => void = module.stop } |
snapSize._methods.beforeEnd | (arg: ModifierArg<SnapState>) => void | Point |
snapSize._methods.set | (arg: ModifierArg<SnapState>) => { delta: { x: number = 0; y: number = 0 } ; distance: number = 0; inRange: boolean = false; range: number = 0; target: any = null } |
snapSize._methods.start | (arg: ModifierArg<SnapState>) => void |
snapSize._methods.stop | (arg: ModifierArg<SnapState>) => void |
spring | ModifierFunction<any, any, "noop"> |
transform | ModifierFunction<any, any, "noop"> |
Defined in
snappers
• snappers: __module
Defined in
version
• version: string
Defined in
Methods
addDocument
â–¸ addDocument(doc, options?): void
Parameters
| Name | Type |
|---|---|
doc | Document |
options? | object |
Returns
void
Defined in
debug
â–¸ debug(): any
Returns
any
Defined in
isSet
â–¸ isSet(target, options?): boolean
Check if an element or selector has been set with the interact(target) function
Parameters
| Name | Type |
|---|---|
target | Target |
options? | any |
Returns
boolean
Indicates if the element or CSS selector was previously passed to interact
Defined in
off
â–¸ off(type, listener, options?): any
Parameters
| Name | Type |
|---|---|
type | EventTypes |
listener | any |
options? | object |
Returns
any
Defined in
on
â–¸ on(type, listener, options?): any
Parameters
| Name | Type |
|---|---|
type | EventTypes |
listener | ListenersArg |
options? | object |
Returns
any
Defined in
pointerMoveTolerance
â–¸ pointerMoveTolerance(newValue?): number | InteractStatic
Returns or sets the distance the pointer must be moved before an action sequence occurs. This also affects tolerance for tap events.
Parameters
| Name | Type | Description |
|---|---|---|
newValue? | number | The movement from the start position must be greater than this value |
Returns
number | InteractStatic
Defined in
removeDocument
â–¸ removeDocument(doc): void
Parameters
| Name | Type |
|---|---|
doc | Document |
Returns
void
Defined in
stop
â–¸ stop(): InteractStatic
Cancels all interactions (end events are not fired)
Returns
Defined in
supportsPointerEvent
â–¸ supportsPointerEvent(): boolean
Whether or not the browser supports PointerEvents
Returns
boolean
Defined in
supportsTouch
â–¸ supportsTouch(): boolean
Whether or not the browser supports touch input
Returns
boolean
Defined in
use
â–¸ use(plugin, options?): any
Use a plugin
Parameters
| Name | Type |
|---|---|
plugin | Plugin |
options? | Object |
Returns
any