# Class Tbeditor

A component which is similar to ckeditor but is lightweight and efficient.

#### Default Value

    {@link getZclass}: z-tbeditor.

#### Author

chunfu

#### Since

8.0.0

#### Hierarchy (view full)

- zul.Widget
  - Tbeditor

#####
Index

### Constructors

constructor

### Properties

$ZKBINDER$?
$ZKMATCHMEDIA$?
$button?
$inputWidget?
$oid
$weave?
_afterComposed
_beforeAfterComposeCallbacks
_disabledShadowAdjustment
autag?
bindLevel
blankPreserved?
className
desktop?
doAfterProcessRerenderArgs
domExtraAttrs?
firstChild?
id?
inServer
lastChild?
nChildren
nextSibling?
offsetHeight?
offsetWidth?
parent?
previousSibling?
prolog?
rawId
uuid
widgetName
z$display?
z$rod?
z$rod0?
z_isDataHandlerBound
z_rod?
z_virnd?
$oid
auDelay
molds

### Accessors

$class

### Methods

$afterCommand
$binder
$f
$init
$instanceof
$n
$n_
$o
$s
$service
$super
$supers
afterAnima_
afterChildMinFlexChanged_
afterChildrenFlex_
afterChildrenMinFlex_
afterClearFlex_
afterCompose_
afterInit
afterParentChanged_
afterResetChildSize_
appendChild
beforeChildAdded_
beforeChildRemoved_
beforeChildReplaced_
beforeChildrenFlex_
beforeMinFlex_
beforeParentChanged_
beforeParentMinFlex_
beforeSendAU_
bind
bindChildren_
bindDoubleTap_
bindMissingAncestors
bindSwipe_
bindTapHold_
canActivate
cleanDrag_
clear
clearCache
clearCachedSize_
cloneDrag_
deferRedrawHTML_
deferRedraw_
detach
doBlur_
doDoubleClick_
doFocus_
doKeyPress_
doKeyUp_
doMouseDown_
doMouseMove_
doMouseOut_
doMouseOver_
doMouseUp_
doPaste_
doResizeScroll_
doSelect_
doSwipe_
domAttrs_
domClass_
domExtraAttrs_
domListen_
domStyle_
domTextStyleAttr_
domTooltiptext_
domUnlisten_
dropEffect_
extraBind_
fire
fireX
fixFlex_
fixMinFlex_
focus
focus_
forcerender
fromPageCoord
get
get$Class
getAction
getCaveNode
getChildAt
getChildIndex
getChildMinSize_
getConfig
getContentEdgeHeight_
getContentEdgeWidth_
getContext
getCssflex
getCtrlKeys
getDomEvtInf_
getDragMessage_
getDragNode
getDragOptions_
getDraggable
getDrop_
getDroppable
getFirstNode_
getFlexContainer_
getFlexDirection_
getFloatZIndex_
getHeight
getHflex
getId
getInputNode?
getLeft
getMarginSize_
getMold
getOldWidget_
getPage
getParentSize_
getPopup
getRenderdefer
getSclass
getScrollLeft
getScrollTop
getStyle
getTabindex
getTextNode
getTooltip
getTooltiptext
getTop
getTopWidget
getValue
getVflex
getWidth
getZIndex
getZclass
getZindex
hide
ignoreChildNodeOffset_
ignoreDescendantFloatUp_
ignoreDrag_
ignoreFlexSize_
inRerendering_
initDrag_
insertBefore
insertChildHTML_
isBinding
isCssflex
isExcludedHflex_
isExcludedVflex_
isFloating_
isFocus
isHflex
isListen
isRealElement
isRealVisible
isVflex
isVisible
isWatchable_
listen
listenOnFitSize_
onAfterSize
onChildAdded_
onChildRemoved_
onChildRenderDefer_
onChildReplaced_
onChildVisible_
onDrop_
onSize
proxy
redraw
redrawHTML_
removeChild
removeChildHTML_
removeHTML_
replaceCavedChildren_
replaceChildHTML_
replaceHTML
replaceWidget
rerender
rerenderLater_
rerenderNow_
resetSize_
scrollIntoView
sendAU_
set
setAction
setChildren
setConfig
setContext
setCssflex
setCtrlKeys
setDomVisible_
setDraggable
setDroppable
setFlexSizeH_
setFlexSizeW_
setFloatZIndex_
setFloating_
setFocus
setHeight
setHflex
setHflex_
setId
setLeft
setListener
setListener0
setListeners
setListeners0
setMold
setOverride
setOverrides
setPopup
setRenderdefer
setSclass
setScrollLeft
setScrollTop
setStyle
setTabindex
setTooltip
setTooltiptext
setTop
setTopmost
setValue
setVflex
setVflex_
setVisible
setWidth
setZIndex
setZclass
setZindex
shallChildROD_
shallFireSizedLaterWhenAddChd_
shallIgnoreClick_
show
smartUpdate
toJSON
triggerAfterHostChildAdded_
triggerAfterHostChildRemoved_
triggerBeforeHostChildAdded_
triggerBeforeHostChildRemoved_
triggerBeforeHostParentChanged_
unbind
unbindChildren_
unbindDoubleTap_
unbindRod_
unbindSwipe_
unbindTapHold_
uncloneDrag_
unlisten
unlistenOnFitSize_
updateDomClass_
updateDomStyle_
zsync
$
disableChildCallback
enableChildCallback
getClass
getElementsById
getElementsByName
getOpenTooltip
getWidgetByUuid
isAssignableFrom
isAutoId
isInstance
newInstance
nextUuid
register
uuid

## Constructors

### constructor

- new Tbeditor(props?): Tbeditor

- #### Parameters

  - ##### `Optional` props: Record<string, unknown> | (() => void)

  #### Returns Tbeditor

  Inherited from Widget.constructor

## Properties

### `Optional` $ZKBINDER$

$ZKBINDER$?: boolean

Inherited from Widget.$ZKBINDER$

### `Optional` $ZKMATCHMEDIA$

$ZKMATCHMEDIA$?: string[]

Inherited from Widget.$ZKMATCHMEDIA$

### `Optional` $button

$button?: boolean

Inherited from Widget.$button

### `Optional` $inputWidget

$inputWidget?: boolean

Inherited from Widget.$inputWidget

### $oid

$oid: number = 0

The object ID. Each object has its own unique $oid. It is mainly used for debugging purpose.

Trick: you can test if a JavaScript object is a ZK object by examining this property, such as `if (o.$oid) alert('o is a ZK object');`

Notice: zk.Class extends from zk.Object (so a class also has $oid)

Inherited from Widget.$oid

### `Optional` $weave

$weave?: object = undefined

The weave controller that is used by ZK Weaver. It is not null if it is created and controlled by ZK Weaver. In other words, it is called in the Design Mode if Widget.$weave is not null.

Inherited from Widget.$weave

### _afterComposed

_afterComposed: boolean

Inherited from Widget._afterComposed

### _beforeAfterComposeCallbacks

_beforeAfterComposeCallbacks: CallableFunction[]

Inherited from Widget._beforeAfterComposeCallbacks

### _disabledShadowAdjustment

_disabledShadowAdjustment: boolean

Inherited from Widget._disabledShadowAdjustment

### `Optional` autag

autag?: string

The AU tag of this widget. The AU tag tag is used to tag the AU requests sent by the peer widget. For instance, if the AU tag is `xxx,yyy` and the desktop's request path (Desktop#requestPath) is `/foo.zul`, then the URL of the AU request will contain `/_/foo.zul/xxx,yyy`,.

#### Default Value

`null`

#### Since

6.0.0

Inherited from Widget.autag

### `Readonly` bindLevel

bindLevel: number = -1

The bind level (integer).

The level in the widget tree after this widget is bound to a DOM tree (bind_). For example, a widget's bind level is one plus the parent widget's

It starts at 0 if it is the root of the widget tree (a desktop, zk.Desktop), then 1 if a child of the root widget, and son on. Notice that it is -1 if not bound.

It is mainly useful if you want to maintain a list that parent widgets is in front of (or after) child widgets. bind level.

Inherited from Widget.bindLevel

### `Optional` blankPreserved

blankPreserved?: boolean

Inherited from Widget.blankPreserved

### className

className: string

The class name of the widget. For example, zk.Widget's class name is "zk.Widget", while zul.wnd.Window's "zul.wnd.Window".

Notice that it is available if a widget class is loaded by WPD loader (i.e., specified in zk.wpd). If you create a widget class dynamically, you have to invoke register to make this member available. On the other hand, zk.Object.$class is available for all objects extending from zk.Object.

#### See

widgetName

Inherited from Widget.className

### `Optional` `Readonly` desktop

desktop?: Desktop

The desktop that this widget belongs to.

It is set when it is bound to the DOM tree.

Notice it is always non-null if bound to the DOM tree, while Widget.$n is always non-null if bound. For example, zul.utl.Timer.

It is readonly, and set automatically when bind_ is called.

Inherited from Widget.desktop

### doAfterProcessRerenderArgs

doAfterProcessRerenderArgs: undefined | unknown[]

Inherited from Widget.doAfterProcessRerenderArgs

### `Optional` domExtraAttrs

domExtraAttrs?: Record<string, string>

Inherited from Widget.domExtraAttrs

### `Optional` `Readonly` firstChild

firstChild?: Widget<HTMLElement>

The first child, or `null` if no child at all.

#### See

getChildAt

Inherited from Widget.firstChild

### `Optional` `Readonly` id

id?: string

The identifier of this widget, or `null` if not assigned.

It is the same as getId.

To change the value, use setId.

Inherited from Widget.id

### `Readonly` inServer

inServer: boolean = false

Whether this widget has a peer component.

It is set if a widget is created automatically to represent a component at the server. On the other hand, it is false if a widget is created by the client application (by calling, say, `new zul.inp.Textox()`).

Inherited from Widget.inServer

### `Optional` `Readonly` lastChild

lastChild?: Widget<HTMLElement>

The last child, or `null` if no child at all.

#### See

getChildAt

Inherited from Widget.lastChild

### `Readonly` nChildren

nChildren: number = 0

The number of children (integer).

Inherited from Widget.nChildren

### `Optional` `Readonly` nextSibling

nextSibling?: Widget<HTMLElement>

The next sibling, or `null` if this widget is the last child.

Inherited from Widget.nextSibling

### `Optional` offsetHeight

offsetHeight?: any

Inherited from Widget.offsetHeight

### `Optional` offsetWidth

offsetWidth?: any

Inherited from Widget.offsetWidth

### `Optional` `Readonly` parent

parent?: Widget<HTMLElement>

The parent, or `null` if this widget has no parent.

Inherited from Widget.parent

### `Optional` `Readonly` previousSibling

previousSibling?: Widget<HTMLElement>

The previous sibling, or `null` if this widget is the first child.

Inherited from Widget.previousSibling

### `Optional` prolog

prolog?: string

Inherited from Widget.prolog

### rawId

rawId: any

Inherited from Widget.rawId

### uuid

uuid: string = ''

The UUID. Don't change it if it is bound to the DOM tree, or inServer is true. Developers rarely need to modify it since it is generated automatically.

Inherited from Widget.uuid

### widgetName

widgetName: string

The widget name of the widget. It is the same as `this.className.substring(this.className.lastIndexOf('.') + 1).toLowerCase()`. For example, if className is zul.wnd.Window, then widgetName is window.

Notice that className is unique while widgetName is not necessary unique.

#### See

className

#### Since

5.0.2

Inherited from Widget.widgetName

### `Optional` z$display

z$display?: string

Inherited from Widget.z$display

### `Optional` z$rod

z$rod?: boolean

Inherited from Widget.z$rod

### `Optional` z$rod0

z$rod0?: false

Inherited from Widget.z$rod0

### z_isDataHandlerBound

z_isDataHandlerBound: any

Inherited from Widget.z_isDataHandlerBound

### `Optional` z_rod

z_rod?: number | boolean

Inherited from Widget.z_rod

### `Optional` z_virnd

z_virnd?: boolean

Inherited from Widget.z_virnd

### `Static` $oid

$oid: any

Inherited from Widget.$oid

### `Static` auDelay

auDelay: number = 38

The default delay before sending an AU request when fire is called (and the server has an ARAP event listener registered).

#### Default Value

`38` (Unit: miliseconds).

#### Since

5.0.8

Inherited from Widget.auDelay

### `Static` molds

molds: {
default(out): void;
}

#### Type declaration

- ##### default:function

  - default(out): void

  - #### Parameters

    - ##### out: string[]

    #### Returns void

Inherited from Widget.molds

## Accessors

### $class

- get $class(): typeof ZKObject

- The class that this object belongs to.

  #### Returns typeof ZKObject

  Inherited from zul.Widget.$class

## Methods

### $afterCommand

- $afterCommand(command, args?): void

- #### Parameters

  - ##### command: string

  - ##### `Optional` args: unknown[]

  #### Returns void

  Inherited from Widget.$afterCommand

### $binder

- $binder(): undefined | Binder

- #### Returns undefined | Binder

  Inherited from Widget.$binder

### $f

- $f(): undefined | Record<string, Widget<HTMLElement>>

- #### Returns undefined | Record<string, Widget<HTMLElement>>

  the map of all fellows of this widget.

      wgt.$f().main.setTitle("foo");

  #### Since

  5.0.2

  Inherited from Widget.$f

- $f<T>(id, global?): undefined | T

- #### Type Parameters

  - #### T extends Widget<HTMLElement> = Widget<HTMLElement>

  #### Parameters

  - ##### id: string

    the widget's ID (id)

  - ##### `Optional` global: boolean

    whether to search all ID spaces of this desktop. If true, it first search its own ID space, and then the other Id spaces in this browser window (might have one or multiple desktops). If omitted, it won't search all ID spaces.

  #### Returns undefined | T

  the fellow (Widget) of the specified ID of the ID space that this widget belongs to. It returns `undefined` if not found.

  Inherited from Widget.$f

### $init

- $init(props?): void

- The constructor.

  #### Parameters

  - ##### `Optional` props: Record<string, unknown> | (() => void)

  #### Returns void

  #### Default Value

      it does nothing so the subclass needs not to copy back
      (also harmless to call back).

  #### See

  afterInit

  #### Deprecated

  as of 10.0 released. Using ES6 `constructor` instead.

  Inherited from Widget.$init

### $instanceof

- $instanceof(...klass): boolean

- Determines if this object is an instance of the class represented by the specified Class parameter. Example:

      if (obj.$instanceof(zul.wgt.Label, zul.wgt.Image)) {
      }

  #### Parameters

  - ##### `Rest` ...klass: any[]

    the Class object to be checked. Any number of arguments can be specified.

  #### Returns boolean

  true if this object is an instance of the class

  Inherited from Widget.$instanceof

### $n

- $n(): undefined | HTMLElement

- #### Returns undefined | HTMLElement

  the DOM element that this widget is bound to. It is null if it is not bound to the DOM tree, or it doesn't have the associated DOM node (for example, zul.utl.Timer).

  Notice that desktop is always non-null if it is bound to the DOM tree. In additions, this method is much faster than invoking jq() (see _global_.jq, since it caches the result (and clean up at the unbind_). ```ts var n = wgt.$n(); ```

  #### See

  #$n(String)

  Inherited from Widget.$n

- $n<T>(subId?): undefined | T

- #### Type Parameters

  - #### T extends HTMLElement = HTMLElement

  #### Parameters

  - ##### `Optional` subId: string

    the sub ID of the child element

  #### Returns undefined | T

  the child element of the DOM element(s) that this widget is bound to. This method assumes the ID of the child element the concatenation of uuid, -, and subId. For example,

      var cave = wgt.$n('cave'); //the same as jq('#' + wgt.uuid + '-' + 'cave')[0]

  Like Widget.$n, this method caches the result so the performance is much better than invoking jq() directly.

  #### See

  Widget.$n

  Inherited from Widget.$n

### $n_

- $n_(): HTMLElement

- #### Returns HTMLElement

  the DOM element that this widget is bound to. (Never null)

  #### See

  Widget.$n_

  #### Since

  10.0.0

  Inherited from Widget.$n_

- $n_<T>(subId): T

- #### Type Parameters

  - #### T extends HTMLElement = HTMLElement

  #### Parameters

  - ##### subId: undefined | string

    the sub ID of the child element

  #### Returns T

  the child element of the DOM element(s) that this widget is bound to. (Never null)

  #### See

  Widget.$n_

  #### Since

  10.0.0

  Inherited from Widget.$n_

### $o

- $o<T>(): undefined | T

- #### Type Parameters

  - #### T extends Widget<HTMLElement> = Widget<HTMLElement>

  #### Returns undefined | T

  the owner of the ID space that this widget belongs to, or null if it doesn't belong to any ID space.

  Notice that, if this widget is an ID space owner, this method returns itself.

  Inherited from Widget.$o

### $s

- $s(subclass?): string

- #### Parameters

  - ##### `Optional` subclass: string

  #### Returns string

  the sub zclass name that cache for this widget. It returns the zclass if the subclass is empty or null, since it caches the result (and clean up at the setZclass).

      var subzcls = wgt.$s('hover'); // z-xxx-hover will be return

  #### See

  getZclass

  #### Since

  7.0.0

  Inherited from Widget.$s

### $service

- $service(): undefined | Service

- #### Returns undefined | Service

  the service instance from the current widget, if any.

  #### Since

  8.0.0

  Inherited from Widget.$service

### $super

- $super<M, F>(mtd, ...args): ReturnType<F>

- Invokes a method defined in the superclass with any number of arguments. It is like Function's call() that takes any number of arguments.

  Example: ```ts multiply: function (n) { return this.$super('multiply', n + 2); } ```

  #### Type Parameters

  - #### M extends "$init" | "$supers" | "_$ais" | "_$supers" | "_$proxies" | "_$super" | "_importantEvts" | "afterCreated_" | "afterInit" | "$class" | "get$Class" | "$oid" | "$instanceof" | "$super" | "proxy" | "desktop" | "fire" | "onSize" | "$n" | "hide" | "_value" | "toJSON" | "$weave" | "isVisible" | "scrollIntoView" | "$n_" | "z$rod" | "_rodopen" | "z_virnd" | "$button" | "$inputWidget" | "_uplder" | "_autodisable_self" | "_uploading" | "offsetWidth" | "offsetHeight" | "blankPreserved" | "getInputNode" | "z_rod" | "_z$rd" | "z$display" | "prolog" | "_rodKid" | "_node" | "_nodeSolved" | "_rmAftAnm" | "_$evproxs" | "_fellows" | "_norenderdefer" | "_rerendering" | "domExtraAttrs" | "_flexListened" | "_cssFlexApplied" | "_beforeSizeHasScroll" | "doAfterProcessRerenderArgs" | "_vflex" | "_hflex" | "_flexFixed" | "_nvflex" | "_nhflex" | "_hflexsz" | "_vflexsz" | "_binding" | "rawId" | "_$service" | "childReplacing_" | "_userZIndex" | "_zIndex" | "z_isDataHandlerBound" | "_drag" | "_preWidth" | "_preHeight" | "_action" | "_tabindex" | "_draggable" | "_asaps" | "_lsns" | "_bklsns" | "_subnodes" | "_subzcls" | "_sclass" | "_zclass" | "_width" | "_height" | "_left" | "_top" | "_tooltiptext" | "_droppable" | "_dropTypes" | "_fitSizeListened" | "_focus" | "_visible" | "_mold" | "_style" | "_renderdefer" | "_cssflex" | "actions_" | "nChildren" | "bindLevel" | "className" | "widgetName" | "autag" | "_floating" | "firstChild" | "lastChild" | "parent" | "nextSibling" | "previousSibling" | "id" | "inServer" | "uuid" | "insertingBefore_" | "effects_" | "setMold" | "getMold" | "setStyle" | "getStyle" | "setSclass" | "getSclass" | "setZclass" | "getZclass" | "setWidth" | "getWidth" | "setHeight" | "getHeight" | "setLeft" | "getLeft" | "setTop" | "getTop" | "setTooltiptext" | "getTooltiptext" | "setDroppable" | "getDroppable" | "setVflex" | "getVflex" | "isVflex" | "setHflex" | "getHflex" | "isHflex" | "getRenderdefer" | "setRenderdefer" | "getAction" | "setAction" | "getTabindex" | "setTabindex" | "getCssflex" | "isCssflex" | "setCssflex" | "setHflex_" | "setVflex_" | "afterAnima_" | "setDraggable" | "getDraggable" | "$o" | "$f" | "getId" | "setId" | "set" | "_setServerListener" | "get" | "getChildAt" | "getChildIndex" | "setChildren" | "appendChild" | "shallChildROD_" | "insertBefore" | "beforeChildRemoved_" | "triggerBeforeHostChildRemoved_" | "removeChild" | "detach" | "clear" | "replaceWidget" | "replaceCavedChildren_" | "beforeParentChanged_" | "triggerBeforeHostParentChanged_" | "afterParentChanged_" | "isRealVisible" | "setVisible" | "isFocus" | "setFocus" | "zsync" | "show" | "setDomVisible_" | "beforeChildAdded_" | "triggerBeforeHostChildAdded_" | "onChildAdded_" | "triggerAfterHostChildAdded_" | "onChildRemoved_" | "triggerAfterHostChildRemoved_" | "onChildReplaced_" | "onChildVisible_" | "onChildRenderDefer_" | "setTopmost" | "setFloatZIndex_" | "getFloatZIndex_" | "getTopWidget" | "isFloating_" | "setFloating_" | "getZIndex" | "getZindex" | "setZIndex" | "setZindex" | "getScrollTop" | "getScrollLeft" | "setScrollTop" | "setScrollLeft" | "redraw" | "deferRedraw_" | "deferRedrawHTML_" | "forcerender" | "updateDomClass_" | "updateDomStyle_" | "_domTextStyle" | "getTextNode" | "domStyle_" | "domClass_" | "domAttrs_" | "domExtraAttrs_" | "domTooltiptext_" | "domTextStyleAttr_" | "replaceHTML" | "getOldWidget_" | "redrawHTML_" | "rerender" | "rerenderLater_" | "replaceChildHTML_" | "insertChildHTML_" | "getCaveNode" | "getFirstNode_" | "removeChildHTML_" | "removeHTML_" | "$service" | "$afterCommand" | "isRealElement" | "inRerendering_" | "$s" | "clearCache" | "unbindRod_" | "getPage" | "isBinding" | "rerenderNow_" | "bindMissingAncestors" | "bind" | "unbind" | "bind_" | "bindChildren_" | "unbind_" | "unbindChildren_" | "extraBind_" | "setFlexSize_" | "setFlexSizeH_" | "setFlexSizeW_" | "beforeChildReplaced_" | "beforeChildrenFlex_" | "afterChildrenFlex_" | "afterChildMinFlexChanged_" | "ignoreFlexSize_" | "ignoreChildNodeOffset_" | "beforeMinFlex_" | "beforeParentMinFlex_" | "afterChildrenMinFlex_" | "afterResetChildSize_" | "isExcludedHflex_" | "isExcludedVflex_" | "getChildMinSize_" | "getParentSize_" | "getMarginSize_" | "getContentEdgeHeight_" | "getContentEdgeWidth_" | "fixFlex_" | "fixMinFlex_" | "clearCachedSize_" | "resetSize_" | "getFlexContainer_" | "getFlexDirection_" | "afterClearFlex_" | "initDrag_" | "cleanDrag_" | "getDragNode" | "getDragOptions_" | "ignoreDrag_" | "getDrop_" | "dropEffect_" | "getDragMessage_" | "onDrop_" | "cloneDrag_" | "uncloneDrag_" | "onAfterSize" | "bindSwipe_" | "unbindSwipe_" | "bindDoubleTap_" | "unbindDoubleTap_" | "bindTapHold_" | "unbindTapHold_" | "focus" | "focus_" | "canActivate" | "smartUpdate" | "fireX" | "beforeSendAU_" | "sendAU_" | "shallIgnoreClick_" | "listen" | "unlisten" | "isListen" | "setListeners" | "setListeners0" | "setListener" | "setListener0" | "setOverride" | "setOverrides" | "doSelect_" | "doTooltipOver_" | "doTooltipOut_" | "doClick_" | "doDoubleClick_" | "doRightClick_" | "doMouseOver_" | "doMouseOut_" | "doMouseDown_" | "doMouseUp_" | "doMouseMove_" | "doKeyDown_" | "doKeyUp_" | "doKeyPress_" | "doPaste_" | "doSwipe_" | "doFocus_" | "doBlur_" | "doResizeScroll_" | "domListen_" | "domUnlisten_" | "listenOnFitSize_" | "unlistenOnFitSize_" | "fromPageCoord" | "isWatchable_" | "ignoreDescendantFloatUp_" | "getDomEvtInf_" | "shallFireSizedLaterWhenAddChd_" | "afterCompose_" | "_$binder" | "$ZKBINDER$" | "$ZKMATCHMEDIA$" | "$binder" | "z$rod0" | "_afterComposed" | "_beforeAfterComposeCallbacks" | "_disabledShadowAdjustment" | "_context" | "_popup" | "_doScrollableSyncScroll" | "_tooltip" | "_ctrlKeys" | "_parsedCtlKeys" | "getContext" | "setContext" | "getPopup" | "setPopup" | "getTooltip" | "setTooltip" | "getCtrlKeys" | "setCtrlKeys" | "_parsePopParams" | "_smartFellow" | "afterKeyDown_" | "beforeCtrlKeys_" | "setValue" | "getValue" | "_config" | "setConfig" | "_editor" | "_jqCnt" | "getConfig" | "_preprocessConfig" | "_setSize" | "_getValue" | "_calcEditorHeight" | "_onBlur" | "_onChange" | "_assignMinHeight"

  - #### F extends any

  #### Parameters

  - ##### mtd: M

    the method name to invoke

  - ##### `Rest` ...args: Parameters<F>

    any number of arguments

  #### Returns ReturnType<F>

  the object being returned by the method of the superclass.

  #### See

  zk.Object.$supers

  Inherited from Widget.$super

- $super<M, F>(klass, mtd, ...args): ReturnType<F>

- Invokes a method defined in the superclass with any number of arguments. It is like Function's call() that takes any number of arguments.

  It is similar to ZKObject.$super, but this method works even if the superclass calls back the same member method. In short, it is tedious but safer.

  Example: ```ts foo.MyClass = zk.$extends(foo.MySuper, { multiply: function (n) { return this.$super(foo.MyClass, 'multiply', n + 2); } ```

  Notice that the class specified in the first argument is not the super class having the method. Rather, it is the class that invokes this method.

  #### Type Parameters

  - #### M extends "$init" | "$supers" | "_$ais" | "_$supers" | "_$proxies" | "_$super" | "_importantEvts" | "afterCreated_" | "afterInit" | "$class" | "get$Class" | "$oid" | "$instanceof" | "$super" | "proxy" | "desktop" | "fire" | "onSize" | "$n" | "hide" | "_value" | "toJSON" | "$weave" | "isVisible" | "scrollIntoView" | "$n_" | "z$rod" | "_rodopen" | "z_virnd" | "$button" | "$inputWidget" | "_uplder" | "_autodisable_self" | "_uploading" | "offsetWidth" | "offsetHeight" | "blankPreserved" | "getInputNode" | "z_rod" | "_z$rd" | "z$display" | "prolog" | "_rodKid" | "_node" | "_nodeSolved" | "_rmAftAnm" | "_$evproxs" | "_fellows" | "_norenderdefer" | "_rerendering" | "domExtraAttrs" | "_flexListened" | "_cssFlexApplied" | "_beforeSizeHasScroll" | "doAfterProcessRerenderArgs" | "_vflex" | "_hflex" | "_flexFixed" | "_nvflex" | "_nhflex" | "_hflexsz" | "_vflexsz" | "_binding" | "rawId" | "_$service" | "childReplacing_" | "_userZIndex" | "_zIndex" | "z_isDataHandlerBound" | "_drag" | "_preWidth" | "_preHeight" | "_action" | "_tabindex" | "_draggable" | "_asaps" | "_lsns" | "_bklsns" | "_subnodes" | "_subzcls" | "_sclass" | "_zclass" | "_width" | "_height" | "_left" | "_top" | "_tooltiptext" | "_droppable" | "_dropTypes" | "_fitSizeListened" | "_focus" | "_visible" | "_mold" | "_style" | "_renderdefer" | "_cssflex" | "actions_" | "nChildren" | "bindLevel" | "className" | "widgetName" | "autag" | "_floating" | "firstChild" | "lastChild" | "parent" | "nextSibling" | "previousSibling" | "id" | "inServer" | "uuid" | "insertingBefore_" | "effects_" | "setMold" | "getMold" | "setStyle" | "getStyle" | "setSclass" | "getSclass" | "setZclass" | "getZclass" | "setWidth" | "getWidth" | "setHeight" | "getHeight" | "setLeft" | "getLeft" | "setTop" | "getTop" | "setTooltiptext" | "getTooltiptext" | "setDroppable" | "getDroppable" | "setVflex" | "getVflex" | "isVflex" | "setHflex" | "getHflex" | "isHflex" | "getRenderdefer" | "setRenderdefer" | "getAction" | "setAction" | "getTabindex" | "setTabindex" | "getCssflex" | "isCssflex" | "setCssflex" | "setHflex_" | "setVflex_" | "afterAnima_" | "setDraggable" | "getDraggable" | "$o" | "$f" | "getId" | "setId" | "set" | "_setServerListener" | "get" | "getChildAt" | "getChildIndex" | "setChildren" | "appendChild" | "shallChildROD_" | "insertBefore" | "beforeChildRemoved_" | "triggerBeforeHostChildRemoved_" | "removeChild" | "detach" | "clear" | "replaceWidget" | "replaceCavedChildren_" | "beforeParentChanged_" | "triggerBeforeHostParentChanged_" | "afterParentChanged_" | "isRealVisible" | "setVisible" | "isFocus" | "setFocus" | "zsync" | "show" | "setDomVisible_" | "beforeChildAdded_" | "triggerBeforeHostChildAdded_" | "onChildAdded_" | "triggerAfterHostChildAdded_" | "onChildRemoved_" | "triggerAfterHostChildRemoved_" | "onChildReplaced_" | "onChildVisible_" | "onChildRenderDefer_" | "setTopmost" | "setFloatZIndex_" | "getFloatZIndex_" | "getTopWidget" | "isFloating_" | "setFloating_" | "getZIndex" | "getZindex" | "setZIndex" | "setZindex" | "getScrollTop" | "getScrollLeft" | "setScrollTop" | "setScrollLeft" | "redraw" | "deferRedraw_" | "deferRedrawHTML_" | "forcerender" | "updateDomClass_" | "updateDomStyle_" | "_domTextStyle" | "getTextNode" | "domStyle_" | "domClass_" | "domAttrs_" | "domExtraAttrs_" | "domTooltiptext_" | "domTextStyleAttr_" | "replaceHTML" | "getOldWidget_" | "redrawHTML_" | "rerender" | "rerenderLater_" | "replaceChildHTML_" | "insertChildHTML_" | "getCaveNode" | "getFirstNode_" | "removeChildHTML_" | "removeHTML_" | "$service" | "$afterCommand" | "isRealElement" | "inRerendering_" | "$s" | "clearCache" | "unbindRod_" | "getPage" | "isBinding" | "rerenderNow_" | "bindMissingAncestors" | "bind" | "unbind" | "bind_" | "bindChildren_" | "unbind_" | "unbindChildren_" | "extraBind_" | "setFlexSize_" | "setFlexSizeH_" | "setFlexSizeW_" | "beforeChildReplaced_" | "beforeChildrenFlex_" | "afterChildrenFlex_" | "afterChildMinFlexChanged_" | "ignoreFlexSize_" | "ignoreChildNodeOffset_" | "beforeMinFlex_" | "beforeParentMinFlex_" | "afterChildrenMinFlex_" | "afterResetChildSize_" | "isExcludedHflex_" | "isExcludedVflex_" | "getChildMinSize_" | "getParentSize_" | "getMarginSize_" | "getContentEdgeHeight_" | "getContentEdgeWidth_" | "fixFlex_" | "fixMinFlex_" | "clearCachedSize_" | "resetSize_" | "getFlexContainer_" | "getFlexDirection_" | "afterClearFlex_" | "initDrag_" | "cleanDrag_" | "getDragNode" | "getDragOptions_" | "ignoreDrag_" | "getDrop_" | "dropEffect_" | "getDragMessage_" | "onDrop_" | "cloneDrag_" | "uncloneDrag_" | "onAfterSize" | "bindSwipe_" | "unbindSwipe_" | "bindDoubleTap_" | "unbindDoubleTap_" | "bindTapHold_" | "unbindTapHold_" | "focus" | "focus_" | "canActivate" | "smartUpdate" | "fireX" | "beforeSendAU_" | "sendAU_" | "shallIgnoreClick_" | "listen" | "unlisten" | "isListen" | "setListeners" | "setListeners0" | "setListener" | "setListener0" | "setOverride" | "setOverrides" | "doSelect_" | "doTooltipOver_" | "doTooltipOut_" | "doClick_" | "doDoubleClick_" | "doRightClick_" | "doMouseOver_" | "doMouseOut_" | "doMouseDown_" | "doMouseUp_" | "doMouseMove_" | "doKeyDown_" | "doKeyUp_" | "doKeyPress_" | "doPaste_" | "doSwipe_" | "doFocus_" | "doBlur_" | "doResizeScroll_" | "domListen_" | "domUnlisten_" | "listenOnFitSize_" | "unlistenOnFitSize_" | "fromPageCoord" | "isWatchable_" | "ignoreDescendantFloatUp_" | "getDomEvtInf_" | "shallFireSizedLaterWhenAddChd_" | "afterCompose_" | "_$binder" | "$ZKBINDER$" | "$ZKMATCHMEDIA$" | "$binder" | "z$rod0" | "_afterComposed" | "_beforeAfterComposeCallbacks" | "_disabledShadowAdjustment" | "_context" | "_popup" | "_doScrollableSyncScroll" | "_tooltip" | "_ctrlKeys" | "_parsedCtlKeys" | "getContext" | "setContext" | "getPopup" | "setPopup" | "getTooltip" | "setTooltip" | "getCtrlKeys" | "setCtrlKeys" | "_parsePopParams" | "_smartFellow" | "afterKeyDown_" | "beforeCtrlKeys_" | "setValue" | "getValue" | "_config" | "setConfig" | "_editor" | "_jqCnt" | "getConfig" | "_preprocessConfig" | "_setSize" | "_getValue" | "_calcEditorHeight" | "_onBlur" | "_onChange" | "_assignMinHeight"

  - #### F extends any

  #### Parameters

  - ##### klass: typeof ZKObject

    the class that invokes this method.

  - ##### mtd: M

    the method name to invoke

  - ##### `Rest` ...args: Parameters<F>

    any number of arguments

  #### Returns ReturnType<F>

  the object being returned by the method of the superclass.

  #### See

  zk.Object.$supers

  #### Since

  5.0.2

  Inherited from Widget.$super

### $supers

- $supers<M, F>(name, args): ReturnType<F>

- Invokes a method defined in the superclass with an array of arguments. It is like Function's apply() that takes an array of arguments.

  Example: ```ts multiply: function () { return this.$supers('multiply', arguments); } ```

  #### Type Parameters

  - #### M extends "$init" | "$supers" | "_$ais" | "_$supers" | "_$proxies" | "_$super" | "_importantEvts" | "afterCreated_" | "afterInit" | "$class" | "get$Class" | "$oid" | "$instanceof" | "$super" | "proxy" | "desktop" | "fire" | "onSize" | "$n" | "hide" | "_value" | "toJSON" | "$weave" | "isVisible" | "scrollIntoView" | "$n_" | "z$rod" | "_rodopen" | "z_virnd" | "$button" | "$inputWidget" | "_uplder" | "_autodisable_self" | "_uploading" | "offsetWidth" | "offsetHeight" | "blankPreserved" | "getInputNode" | "z_rod" | "_z$rd" | "z$display" | "prolog" | "_rodKid" | "_node" | "_nodeSolved" | "_rmAftAnm" | "_$evproxs" | "_fellows" | "_norenderdefer" | "_rerendering" | "domExtraAttrs" | "_flexListened" | "_cssFlexApplied" | "_beforeSizeHasScroll" | "doAfterProcessRerenderArgs" | "_vflex" | "_hflex" | "_flexFixed" | "_nvflex" | "_nhflex" | "_hflexsz" | "_vflexsz" | "_binding" | "rawId" | "_$service" | "childReplacing_" | "_userZIndex" | "_zIndex" | "z_isDataHandlerBound" | "_drag" | "_preWidth" | "_preHeight" | "_action" | "_tabindex" | "_draggable" | "_asaps" | "_lsns" | "_bklsns" | "_subnodes" | "_subzcls" | "_sclass" | "_zclass" | "_width" | "_height" | "_left" | "_top" | "_tooltiptext" | "_droppable" | "_dropTypes" | "_fitSizeListened" | "_focus" | "_visible" | "_mold" | "_style" | "_renderdefer" | "_cssflex" | "actions_" | "nChildren" | "bindLevel" | "className" | "widgetName" | "autag" | "_floating" | "firstChild" | "lastChild" | "parent" | "nextSibling" | "previousSibling" | "id" | "inServer" | "uuid" | "insertingBefore_" | "effects_" | "setMold" | "getMold" | "setStyle" | "getStyle" | "setSclass" | "getSclass" | "setZclass" | "getZclass" | "setWidth" | "getWidth" | "setHeight" | "getHeight" | "setLeft" | "getLeft" | "setTop" | "getTop" | "setTooltiptext" | "getTooltiptext" | "setDroppable" | "getDroppable" | "setVflex" | "getVflex" | "isVflex" | "setHflex" | "getHflex" | "isHflex" | "getRenderdefer" | "setRenderdefer" | "getAction" | "setAction" | "getTabindex" | "setTabindex" | "getCssflex" | "isCssflex" | "setCssflex" | "setHflex_" | "setVflex_" | "afterAnima_" | "setDraggable" | "getDraggable" | "$o" | "$f" | "getId" | "setId" | "set" | "_setServerListener" | "get" | "getChildAt" | "getChildIndex" | "setChildren" | "appendChild" | "shallChildROD_" | "insertBefore" | "beforeChildRemoved_" | "triggerBeforeHostChildRemoved_" | "removeChild" | "detach" | "clear" | "replaceWidget" | "replaceCavedChildren_" | "beforeParentChanged_" | "triggerBeforeHostParentChanged_" | "afterParentChanged_" | "isRealVisible" | "setVisible" | "isFocus" | "setFocus" | "zsync" | "show" | "setDomVisible_" | "beforeChildAdded_" | "triggerBeforeHostChildAdded_" | "onChildAdded_" | "triggerAfterHostChildAdded_" | "onChildRemoved_" | "triggerAfterHostChildRemoved_" | "onChildReplaced_" | "onChildVisible_" | "onChildRenderDefer_" | "setTopmost" | "setFloatZIndex_" | "getFloatZIndex_" | "getTopWidget" | "isFloating_" | "setFloating_" | "getZIndex" | "getZindex" | "setZIndex" | "setZindex" | "getScrollTop" | "getScrollLeft" | "setScrollTop" | "setScrollLeft" | "redraw" | "deferRedraw_" | "deferRedrawHTML_" | "forcerender" | "updateDomClass_" | "updateDomStyle_" | "_domTextStyle" | "getTextNode" | "domStyle_" | "domClass_" | "domAttrs_" | "domExtraAttrs_" | "domTooltiptext_" | "domTextStyleAttr_" | "replaceHTML" | "getOldWidget_" | "redrawHTML_" | "rerender" | "rerenderLater_" | "replaceChildHTML_" | "insertChildHTML_" | "getCaveNode" | "getFirstNode_" | "removeChildHTML_" | "removeHTML_" | "$service" | "$afterCommand" | "isRealElement" | "inRerendering_" | "$s" | "clearCache" | "unbindRod_" | "getPage" | "isBinding" | "rerenderNow_" | "bindMissingAncestors" | "bind" | "unbind" | "bind_" | "bindChildren_" | "unbind_" | "unbindChildren_" | "extraBind_" | "setFlexSize_" | "setFlexSizeH_" | "setFlexSizeW_" | "beforeChildReplaced_" | "beforeChildrenFlex_" | "afterChildrenFlex_" | "afterChildMinFlexChanged_" | "ignoreFlexSize_" | "ignoreChildNodeOffset_" | "beforeMinFlex_" | "beforeParentMinFlex_" | "afterChildrenMinFlex_" | "afterResetChildSize_" | "isExcludedHflex_" | "isExcludedVflex_" | "getChildMinSize_" | "getParentSize_" | "getMarginSize_" | "getContentEdgeHeight_" | "getContentEdgeWidth_" | "fixFlex_" | "fixMinFlex_" | "clearCachedSize_" | "resetSize_" | "getFlexContainer_" | "getFlexDirection_" | "afterClearFlex_" | "initDrag_" | "cleanDrag_" | "getDragNode" | "getDragOptions_" | "ignoreDrag_" | "getDrop_" | "dropEffect_" | "getDragMessage_" | "onDrop_" | "cloneDrag_" | "uncloneDrag_" | "onAfterSize" | "bindSwipe_" | "unbindSwipe_" | "bindDoubleTap_" | "unbindDoubleTap_" | "bindTapHold_" | "unbindTapHold_" | "focus" | "focus_" | "canActivate" | "smartUpdate" | "fireX" | "beforeSendAU_" | "sendAU_" | "shallIgnoreClick_" | "listen" | "unlisten" | "isListen" | "setListeners" | "setListeners0" | "setListener" | "setListener0" | "setOverride" | "setOverrides" | "doSelect_" | "doTooltipOver_" | "doTooltipOut_" | "doClick_" | "doDoubleClick_" | "doRightClick_" | "doMouseOver_" | "doMouseOut_" | "doMouseDown_" | "doMouseUp_" | "doMouseMove_" | "doKeyDown_" | "doKeyUp_" | "doKeyPress_" | "doPaste_" | "doSwipe_" | "doFocus_" | "doBlur_" | "doResizeScroll_" | "domListen_" | "domUnlisten_" | "listenOnFitSize_" | "unlistenOnFitSize_" | "fromPageCoord" | "isWatchable_" | "ignoreDescendantFloatUp_" | "getDomEvtInf_" | "shallFireSizedLaterWhenAddChd_" | "afterCompose_" | "_$binder" | "$ZKBINDER$" | "$ZKMATCHMEDIA$" | "$binder" | "z$rod0" | "_afterComposed" | "_beforeAfterComposeCallbacks" | "_disabledShadowAdjustment" | "_context" | "_popup" | "_doScrollableSyncScroll" | "_tooltip" | "_ctrlKeys" | "_parsedCtlKeys" | "getContext" | "setContext" | "getPopup" | "setPopup" | "getTooltip" | "setTooltip" | "getCtrlKeys" | "setCtrlKeys" | "_parsePopParams" | "_smartFellow" | "afterKeyDown_" | "beforeCtrlKeys_" | "setValue" | "getValue" | "_config" | "setConfig" | "_editor" | "_jqCnt" | "getConfig" | "_preprocessConfig" | "_setSize" | "_getValue" | "_calcEditorHeight" | "_onBlur" | "_onChange" | "_assignMinHeight"

  - #### F extends any

  #### Parameters

  - ##### name: M

    the method name to invoke

  - ##### args: Parameters<F>

    an array of arguments. In most case, you just pass `arguments` (the built-in variable).

  #### Returns ReturnType<F>

  the object being returned by the method of the superclass.

  #### See

  zk.Object.$super

  Inherited from Widget.$supers

- $supers<M, F>(klass, name, args): ReturnType<F>

- Invokes a method defined in the superclass with an array of arguments. It is like Function's apply() that takes an array of arguments.

  It is similar to zk.Object.$supers, but this method works even if the superclass calls back the same member method. In short, it is tedious but safer.

  Example: ```ts foo.MyClass = zk.$extends(foo.MySuper, { multiply: function () { return this.$supers(foo.MyClass, 'multiply', arguments); } ```

  Notice that the class specified in the first argument is not the super class having the method. Rather, it is the class that invokes this method.

  #### Type Parameters

  - #### M extends "$init" | "$supers" | "_$ais" | "_$supers" | "_$proxies" | "_$super" | "_importantEvts" | "afterCreated_" | "afterInit" | "$class" | "get$Class" | "$oid" | "$instanceof" | "$super" | "proxy" | "desktop" | "fire" | "onSize" | "$n" | "hide" | "_value" | "toJSON" | "$weave" | "isVisible" | "scrollIntoView" | "$n_" | "z$rod" | "_rodopen" | "z_virnd" | "$button" | "$inputWidget" | "_uplder" | "_autodisable_self" | "_uploading" | "offsetWidth" | "offsetHeight" | "blankPreserved" | "getInputNode" | "z_rod" | "_z$rd" | "z$display" | "prolog" | "_rodKid" | "_node" | "_nodeSolved" | "_rmAftAnm" | "_$evproxs" | "_fellows" | "_norenderdefer" | "_rerendering" | "domExtraAttrs" | "_flexListened" | "_cssFlexApplied" | "_beforeSizeHasScroll" | "doAfterProcessRerenderArgs" | "_vflex" | "_hflex" | "_flexFixed" | "_nvflex" | "_nhflex" | "_hflexsz" | "_vflexsz" | "_binding" | "rawId" | "_$service" | "childReplacing_" | "_userZIndex" | "_zIndex" | "z_isDataHandlerBound" | "_drag" | "_preWidth" | "_preHeight" | "_action" | "_tabindex" | "_draggable" | "_asaps" | "_lsns" | "_bklsns" | "_subnodes" | "_subzcls" | "_sclass" | "_zclass" | "_width" | "_height" | "_left" | "_top" | "_tooltiptext" | "_droppable" | "_dropTypes" | "_fitSizeListened" | "_focus" | "_visible" | "_mold" | "_style" | "_renderdefer" | "_cssflex" | "actions_" | "nChildren" | "bindLevel" | "className" | "widgetName" | "autag" | "_floating" | "firstChild" | "lastChild" | "parent" | "nextSibling" | "previousSibling" | "id" | "inServer" | "uuid" | "insertingBefore_" | "effects_" | "setMold" | "getMold" | "setStyle" | "getStyle" | "setSclass" | "getSclass" | "setZclass" | "getZclass" | "setWidth" | "getWidth" | "setHeight" | "getHeight" | "setLeft" | "getLeft" | "setTop" | "getTop" | "setTooltiptext" | "getTooltiptext" | "setDroppable" | "getDroppable" | "setVflex" | "getVflex" | "isVflex" | "setHflex" | "getHflex" | "isHflex" | "getRenderdefer" | "setRenderdefer" | "getAction" | "setAction" | "getTabindex" | "setTabindex" | "getCssflex" | "isCssflex" | "setCssflex" | "setHflex_" | "setVflex_" | "afterAnima_" | "setDraggable" | "getDraggable" | "$o" | "$f" | "getId" | "setId" | "set" | "_setServerListener" | "get" | "getChildAt" | "getChildIndex" | "setChildren" | "appendChild" | "shallChildROD_" | "insertBefore" | "beforeChildRemoved_" | "triggerBeforeHostChildRemoved_" | "removeChild" | "detach" | "clear" | "replaceWidget" | "replaceCavedChildren_" | "beforeParentChanged_" | "triggerBeforeHostParentChanged_" | "afterParentChanged_" | "isRealVisible" | "setVisible" | "isFocus" | "setFocus" | "zsync" | "show" | "setDomVisible_" | "beforeChildAdded_" | "triggerBeforeHostChildAdded_" | "onChildAdded_" | "triggerAfterHostChildAdded_" | "onChildRemoved_" | "triggerAfterHostChildRemoved_" | "onChildReplaced_" | "onChildVisible_" | "onChildRenderDefer_" | "setTopmost" | "setFloatZIndex_" | "getFloatZIndex_" | "getTopWidget" | "isFloating_" | "setFloating_" | "getZIndex" | "getZindex" | "setZIndex" | "setZindex" | "getScrollTop" | "getScrollLeft" | "setScrollTop" | "setScrollLeft" | "redraw" | "deferRedraw_" | "deferRedrawHTML_" | "forcerender" | "updateDomClass_" | "updateDomStyle_" | "_domTextStyle" | "getTextNode" | "domStyle_" | "domClass_" | "domAttrs_" | "domExtraAttrs_" | "domTooltiptext_" | "domTextStyleAttr_" | "replaceHTML" | "getOldWidget_" | "redrawHTML_" | "rerender" | "rerenderLater_" | "replaceChildHTML_" | "insertChildHTML_" | "getCaveNode" | "getFirstNode_" | "removeChildHTML_" | "removeHTML_" | "$service" | "$afterCommand" | "isRealElement" | "inRerendering_" | "$s" | "clearCache" | "unbindRod_" | "getPage" | "isBinding" | "rerenderNow_" | "bindMissingAncestors" | "bind" | "unbind" | "bind_" | "bindChildren_" | "unbind_" | "unbindChildren_" | "extraBind_" | "setFlexSize_" | "setFlexSizeH_" | "setFlexSizeW_" | "beforeChildReplaced_" | "beforeChildrenFlex_" | "afterChildrenFlex_" | "afterChildMinFlexChanged_" | "ignoreFlexSize_" | "ignoreChildNodeOffset_" | "beforeMinFlex_" | "beforeParentMinFlex_" | "afterChildrenMinFlex_" | "afterResetChildSize_" | "isExcludedHflex_" | "isExcludedVflex_" | "getChildMinSize_" | "getParentSize_" | "getMarginSize_" | "getContentEdgeHeight_" | "getContentEdgeWidth_" | "fixFlex_" | "fixMinFlex_" | "clearCachedSize_" | "resetSize_" | "getFlexContainer_" | "getFlexDirection_" | "afterClearFlex_" | "initDrag_" | "cleanDrag_" | "getDragNode" | "getDragOptions_" | "ignoreDrag_" | "getDrop_" | "dropEffect_" | "getDragMessage_" | "onDrop_" | "cloneDrag_" | "uncloneDrag_" | "onAfterSize" | "bindSwipe_" | "unbindSwipe_" | "bindDoubleTap_" | "unbindDoubleTap_" | "bindTapHold_" | "unbindTapHold_" | "focus" | "focus_" | "canActivate" | "smartUpdate" | "fireX" | "beforeSendAU_" | "sendAU_" | "shallIgnoreClick_" | "listen" | "unlisten" | "isListen" | "setListeners" | "setListeners0" | "setListener" | "setListener0" | "setOverride" | "setOverrides" | "doSelect_" | "doTooltipOver_" | "doTooltipOut_" | "doClick_" | "doDoubleClick_" | "doRightClick_" | "doMouseOver_" | "doMouseOut_" | "doMouseDown_" | "doMouseUp_" | "doMouseMove_" | "doKeyDown_" | "doKeyUp_" | "doKeyPress_" | "doPaste_" | "doSwipe_" | "doFocus_" | "doBlur_" | "doResizeScroll_" | "domListen_" | "domUnlisten_" | "listenOnFitSize_" | "unlistenOnFitSize_" | "fromPageCoord" | "isWatchable_" | "ignoreDescendantFloatUp_" | "getDomEvtInf_" | "shallFireSizedLaterWhenAddChd_" | "afterCompose_" | "_$binder" | "$ZKBINDER$" | "$ZKMATCHMEDIA$" | "$binder" | "z$rod0" | "_afterComposed" | "_beforeAfterComposeCallbacks" | "_disabledShadowAdjustment" | "_context" | "_popup" | "_doScrollableSyncScroll" | "_tooltip" | "_ctrlKeys" | "_parsedCtlKeys" | "getContext" | "setContext" | "getPopup" | "setPopup" | "getTooltip" | "setTooltip" | "getCtrlKeys" | "setCtrlKeys" | "_parsePopParams" | "_smartFellow" | "afterKeyDown_" | "beforeCtrlKeys_" | "setValue" | "getValue" | "_config" | "setConfig" | "_editor" | "_jqCnt" | "getConfig" | "_preprocessConfig" | "_setSize" | "_getValue" | "_calcEditorHeight" | "_onBlur" | "_onChange" | "_assignMinHeight"

  - #### F extends any

  #### Parameters

  - ##### klass: typeof ZKObject

    the class that invokes this method.

  - ##### name: M

    the method name to invoke

  - ##### args: Parameters<F>

    an array of arguments. In most case, you just pass `arguments` (the built-in variable).

  #### Returns ReturnType<F>

  the object being returned by the method of the superclass.

  #### See

  zk.Object.$super

  #### Since

  5.0.2

  Inherited from Widget.$supers

### afterAnima_

- afterAnima_(visible): void

- Invoked after an animation (e.g., zjq.slideDown) has finished. You could override to clean up anything related to animation. Notice that, if you override, you have to call back this method.

  #### Parameters

  - ##### visible: boolean

    whether the result of the animation will make the DOM element visible

  #### Returns void

  #### Since

  5.0.6

  Inherited from Widget.afterAnima_

### afterChildMinFlexChanged_

- afterChildMinFlexChanged_(kid, attr): void

- #### Parameters

  - ##### kid: Widget<HTMLElement>

  - ##### attr: FlexOrient

  #### Returns void

  Inherited from Widget.afterChildMinFlexChanged_

### afterChildrenFlex_

- afterChildrenFlex_(kid?): void

- #### Parameters

  - ##### `Optional` kid: Widget<HTMLElement>

  #### Returns void

  Inherited from Widget.afterChildrenFlex_

### afterChildrenMinFlex_

- afterChildrenMinFlex_(orient): void

- #### Parameters

  - ##### orient: FlexOrient

  #### Returns void

  Inherited from Widget.afterChildrenMinFlex_

### afterClearFlex_

- afterClearFlex_(): void

- #### Returns void

  Inherited from Widget.afterClearFlex_

### afterCompose_

- afterCompose_(): void

- A callback called after a widget is composed but not yet be bound to DOM tree.

  #### Returns void

  #### Since

  10.0.0

  Inherited from Widget.afterCompose_

### afterInit

- afterInit(func): void

- Specifies a function that shall be called after the object is initialized, i.e., after zk.Object.$init is called. This method can be called only during the execution of zk.Object.$init.

  It is an advance feature that is used to allow a base class to do something that needs to wait for all deriving classes have been initialized.

  Invocation Sequence:

  - The most derived class's $init (subclass)
  - The based class's $init (if the derived class's $init invokes this.$supers('$init', arguments))
  - The first function, if any, be added with afterInit, then the second (in the same order that afterInit was called)...

  #### Parameters

  - ##### func: CallableFunction

    the function to register for execution later

  #### Returns void

  #### See

  zk.Object.$init

  #### Deprecated

  as of 10.0 released. Using afterCreated_ instead.

  Inherited from Widget.afterInit

### afterParentChanged_

- afterParentChanged_(oldparent?): void

- A callback called after the parent has been changed.

  #### Parameters

  - ##### `Optional` oldparent: Widget<HTMLElement>

    the previous parent (null if it was not attached) The current parent can be found by parent.

  #### Returns void

  #### Since

  5.0.4

  #### See

  beforeParentChanged_

  Inherited from Widget.afterParentChanged_

### afterResetChildSize_

- afterResetChildSize_(attr): void

- #### Parameters

  - ##### attr: string

  #### Returns void

  Inherited from Widget.afterResetChildSize_

### appendChild

- appendChild(child, ignoreDom?): boolean

- Append a child widget. The child widget will be attached to the DOM tree automatically, if this widget has been attached to the DOM tree, unless this widget is zk.Desktop. In other words, you have to attach child widgets of zk.Desktop manually (by use of, say, replaceHTML).

  ### Subclass Note

  - If this widget is bound to the DOM tree, this method invoke insertChildHTML_ to insert the DOM content of the child to the DOM tree. Thus, override insertChildHTML_ if you want to insert more than the DOM content generated by redraw.
  - If a widget wants to do something when the parent is changed, overrides beforeParentChanged_ (which is called by insertBefore, removeChild and appendChild).
  - insertBefore might invoke this method (if the widget shall be the last child). To know if it is the case you can check insertingBefore_.

  #### Parameters

  - ##### child: Widget<HTMLElement>

    the child widget to add

  - ##### `Optional` ignoreDom: boolean

    whether not to generate DOM elements could prevent it from generating DOM element. It is usually used with rerender.

  #### Returns boolean

  whether the widget was added successfully. It returns false if the child is always the last child (lastChild).

  #### See

  insertBefore

  Inherited from Widget.appendChild

### beforeChildAdded_

- beforeChildAdded_(child, insertBefore?): boolean

- Called before adding a child. If a widget accepts only certain types of children, it shall override this method and return false for an illegal child.

  #### Parameters

  - ##### child: Widget<HTMLElement>

    the child to be added (never null).

  - ##### `Optional` insertBefore: Widget<HTMLElement>

    another child widget that the new child will be inserted before it. If null, the new child will be the last child.

  #### Returns boolean

  whether the widget was able to added.

  #### Since

  10.0.0

  Inherited from Widget.beforeChildAdded_

### beforeChildRemoved_

- beforeChildRemoved_(child): void

- A callback called before removing a child.

  #### Parameters

  - ##### child: Widget<HTMLElement>

    the child being removed.

  #### Returns void

  #### Since

  10.0.0

  Inherited from Widget.beforeChildRemoved_

### beforeChildReplaced_

- beforeChildReplaced_(oldc, newc): void

- #### Parameters

  - ##### oldc: Widget<HTMLElement>

  - ##### newc: Widget<HTMLElement>

  #### Returns void

  Inherited from Widget.beforeChildReplaced_

### beforeChildrenFlex_

- beforeChildrenFlex_(kid): boolean

- #### Parameters

  - ##### kid: Widget<HTMLElement>

  #### Returns boolean

  Inherited from Widget.beforeChildrenFlex_

### beforeMinFlex_

- beforeMinFlex_(attr): undefined | number

- #### Parameters

  - ##### attr: FlexOrient

  #### Returns undefined | number

  Inherited from Widget.beforeMinFlex_

### beforeParentChanged_

- beforeParentChanged_(newparent?): void

- A callback called before the parent is changed.

  #### Parameters

  - ##### `Optional` newparent: Widget<HTMLElement>

    the new parent (null if it is removed) The previous parent can be found by parent.

  #### Returns void

  #### See

  - onChildAdded_
  - onChildRemoved_
  - afterParentChanged_

  Inherited from Widget.beforeParentChanged_

### beforeParentMinFlex_

- beforeParentMinFlex_(attr): void

- #### Parameters

  - ##### attr: FlexOrient

  #### Returns void

  Inherited from Widget.beforeParentMinFlex_

### beforeSendAU_

- beforeSendAU_(wgt, evt): void

- Callback before sending an AU request. It is called by sendAU_.

  #### Parameters

  - ##### wgt: Widget<HTMLElement>

    the widget that causes the AU request to be sent. It will be the target widget when the server receives the event.

  - ##### evt: Event<unknown>

    the event to be sent back to the server. Its content will be cloned to the AU request.

  #### Returns void

  #### Default Value

      this method will stop the event propagation
      and prevent the browser's default handling
      (by calling {@link zk.Event#stop}),
      if the event is onClick, onRightClick or onDoubleClick.
      <p>Notice that {@link sendAU_} is called against the widget sending the AU request
      to the server, while {@link beforeSendAU_} is called against the event's
      target (evt.target).

      <p>Notice that since this method will stop the event propagation for onClick,
      onRightClick and onDoubleClick, it means the event propagation is stopped
      if the server registers a listener. However, it doesn't stop if
      only a client listener is registered (and, in this case, {@link zk.Event#stop}
      must be called explicitly if you want to stop).

  #### See

  sendAU_

  #### Since

  5.0.2

  Inherited from Widget.beforeSendAU_

### bind

- bind(desktop?, skipper?, bindSelfOnly?): this

- Binds this widget. It is called to associate (aka., attach) the widget with the DOM tree.

  Notice that you rarely need to invoke this method, since it is called automatically (such as replaceHTML and appendChild).

  Notice that you rarely need to override this method, either. Rather, override bind_ instead.

  #### Parameters

  - ##### `Optional` desktop: Desktop

    the desktop the DOM element belongs to. If not specified, ZK will decide it automatically.

  - ##### `Optional` skipper: Skipper

    used if rerender is called with a non-null skipper.

  - ##### `Optional` bindSelfOnly: boolean

    set to true if one doesn't want to recursively bind descendents.

  #### Returns this

  #### See

  - bind_
  - unbind

  Inherited from Widget.bind

### bindChildren_

- bindChildren_(desktop?, skipper?, after?): void

- Binds the children of this widget. It is called by bind_ to invoke child's bind_ one-by-one.

  #### Parameters

  - ##### `Optional` desktop: Desktop

    the desktop the DOM element belongs to. If not specified, ZK will decide it automatically.

  - ##### `Optional` skipper: Skipper

    used if rerender is called with a non-null skipper.

  - ##### `Optional` after: CallableFunction[]

    an array of function (Function) that will be invoked after bind_ has been called. For example,

  #### Returns void

  #### Since

  5.0.5

  Inherited from Widget.bindChildren_

### bindDoubleTap_

- bindDoubleTap_(): void

- Bind double click event to the widget on tablet device. It is called if the widget is listen to onDoubleClick event.

  You rarely need to override this method, unless you want to implement double click behavior differently.

  #### Returns void

  #### See

  doDoubleClick_

  #### Since

  6.5.0

  Inherited from Widget.bindDoubleTap_

### bindMissingAncestors

- bindMissingAncestors(desktop?, skipper?): this

- Recursively bind ancestors that are currently unbound (i.e., `desktop` is falsy). Used by ROD. Introduced by ZK-5368.

  #### Parameters

  - ##### `Optional` desktop: Desktop

    the desktop the DOM element belongs to. If not specified, ZK will decide it automatically.

  - ##### `Optional` skipper: Skipper

    used if rerender is called with a non-null skipper.

  #### Returns this

  #### Since

  9.6.4

  Inherited from Widget.bindMissingAncestors

### bindSwipe_

- bindSwipe_(): void

- Bind swipe event to the widget on tablet device. It is called if HTML 5 data attribute (data-swipeable) is set to true.

  You rarely need to override this method, unless you want to bind swipe behavior differently.

  #### Returns void

  #### Default Value

      use {@link zk.Swipe} to implement swipe event.

  #### See

  doSwipe_

  #### Since

  6.5.0

  Inherited from Widget.bindSwipe_

### bindTapHold_

- bindTapHold_(): void

- Bind right click event to the widget on tablet device. It is called if the widget is listen to onRightClick event.

  You rarely need to override this method, unless you want to implement right click behavior differently.

  #### Returns void

  #### See

  doRightClick_

  #### Since

  6.5.1

  Inherited from Widget.bindTapHold_

### canActivate

- canActivate(opts?): boolean

- Checks if this widget can be activated (gaining focus and so on).

  #### Parameters

  - ##### `Optional` opts: Partial<{
    checkOnly: boolean;
    }>

    the options. Allowed values:

    - checkOnly: not to change focus back to modal dialog if unable to activate. If not specified, the focus will be changed back to _global_.zk#currentModal. In additions, if specified, it will ignore zk#busy, which is set if zk.AuCmd0#showBusy is called. This flag is usually set by focus, and not set if it is caused by user's activity, such as clicking.
    The reason to ignore busy is that we allow application to change focus even if busy, while the user cannot.

  #### Returns boolean

  #### Default Value

      return false if it is not a descendant of
      {@link _global_.zk#currentModal}.

  Inherited from Widget.canActivate

### cleanDrag_

- cleanDrag_(): void

- Cleans up the widget to make it un-draggable. It is called if getDraggable is cleaned (or unbound).

  You rarely need to override this method, unless you want to handle drag-and-drop differently.

  #### Returns void

  #### See

  cleanDrag_

  Inherited from Widget.cleanDrag_

### clear

- clear(): void

- Removes all children.

  #### Returns void

  Inherited from Widget.clear

### clearCache

- clearCache(): void

- Clears the cached nodes (by Widget.$n).

  #### Returns void

  Inherited from Widget.clearCache

### clearCachedSize_

- clearCachedSize_(): void

- #### Returns void

  Inherited from Widget.clearCachedSize_

### cloneDrag_

- cloneDrag_(drag, ofs): HTMLElement

- Called to create the visual effect representing what is being dragged. In other words, it creates the DOM element that will be moved with the mouse pointer when the user is dragging.

  This method is called if getDragMessage_ returns null. If getDragMessage_ returns a string (empty or not), a small popup containing the message is created to represent the widget being dragged.

  You rarely need to override this method, unless you want a different visual effect.

  #### Parameters

  - ##### drag: Draggable

    the draggable controller

  - ##### ofs: Offset

    the offset of the returned element (left/top)

  #### Returns HTMLElement

  #### See

  uncloneDrag_

  Inherited from Widget.cloneDrag_

### deferRedrawHTML_

- deferRedrawHTML_(out): void

- Renders a fake DOM element that will replace with the correct element after the deferring time is up. The method is designed for some widgets to override, such as Treeitem, Listitem, and Row, whose HTML tag is created inside a table.

  By default, the Div tag is assumed.

  #### Parameters

  - ##### out: string[]

    an array to output the HTML fragments.

  #### Returns void

  #### Since

  5.0.6

  Inherited from Widget.deferRedrawHTML_

### deferRedraw_

- deferRedraw_(out): boolean

- Utilities for handling the so-called render defer (setRenderdefer). This method is called automatically by redraw, so you only need to use it if you override redraw.

  A typical usage is as follows. ```ts redraw: function (out) { if (!this.deferRedraw_(out)) { out.push(...); //redraw } } ```

  #### Parameters

  - ##### out: undefined | string[]

    an array to output the HTML fragments.

  #### Returns boolean

  #### Since

  5.0.2

  Inherited from Widget.deferRedraw_

### detach

- detach(): void

- Removes this widget (from its parent). If it was attached to a DOM tree, the associated DOM elements will be removed, too.

  #### Returns void

  #### See

  removeChild

  Inherited from Widget.detach

### doBlur_

- doBlur_(evt): void

- A utility to simplify the listening of `onBlur`. Unlike other doXxx_ (such as doClick_), a widget needs to listen the onBlur event explicitly if it might gain and lose the focus.

  For example, ```ts var fn = this.$n('focus'); this.domListen_(fn, 'onFocus', 'doFocus_'); this.domListen_(fn, 'onBlur', 'doBlur_'); ```

  Of course, you can listen it with jQuery DOM-level utilities, if you pefer to handle it differently.

  #### Parameters

  - ##### evt: Event<unknown>

    the widget event. The original DOM event and target can be retrieved by zk.Event#domEvent and zk.Event#domTarget

  #### Returns void

  #### Default Value

      fire the widget event ({@link fireX}), and
      call parent's doBlur_ if the event propagation is not stopped ({@link zk.Event#stopped}).
      It is the so-called event propagation.
      <p>See also <a href="http://books.zkoss.org/wiki/ZK_Client-side_Reference/Notifications">ZK Client-side Reference: Notifications</a>

  #### See

  doFocus_

  Inherited from Widget.doBlur_

### doDoubleClick_

- doDoubleClick_(evt): void

- Called when the user double-clicks on a widget or a child widget. A widget doesn't need to listen the dblclick DOM event. Rather, it shall override this method if necessary.

  #### Parameters

  - ##### evt: Event<unknown>

    the widget event. The original DOM event and target can be retrieved by zk.Event#domEvent and zk.Event#domTarget

  #### Returns void

  #### Default Value

      fire the widget event ({@link fireX}), and call parent's
      doDoubleClick_ if the event propagation is not stopped ({@link zk.Event#stopped}).
      It is the so-called event propagation.
      <p>Note: if {@link shallIgnoreClick_} returns true, {@link fireX} won't be
      called and this method invokes the parent's {@link doDoubleClick_} instead
      (unless {@link zk.Event#stopped} is set).
      <p>See also <a href="http://books.zkoss.org/wiki/ZK_Client-side_Reference/Notifications">ZK Client-side Reference: Notifications</a>

  #### See

  - doClick_
  - doRightClick_

  Inherited from Widget.doDoubleClick_

### doFocus_

- doFocus_(evt): void

- A utility to simplify the listening of `onFocus`. Unlike other doXxx_ (such as doClick_), a widget needs to listen the onFocus event explicitly if it might gain and lose the focus.

  For example, ```ts var fn = this.$n('focus'); this.domListen_(fn, 'onFocus', 'doFocus_'); this.domListen_(fn, 'onBlur', 'doBlur_'); ```

  Of course, you can listen it with jQuery DOM-level utilities, if you pefer to handle it differently.

  #### Parameters

  - ##### evt: Event<unknown>

    the widget event. The original DOM event and target can be retrieved by zk.Event#domEvent and zk.Event#domTarget

  #### Returns void

  #### Default Value

      fire the widget event ({@link fireX}), and
      call parent's doFocus_ if the event propagation is not stopped ({@link zk.Event#stopped}).
      It is the so-called event propagation.
      <p>See also <a href="http://books.zkoss.org/wiki/ZK_Client-side_Reference/Notifications">ZK Client-side Reference: Notifications</a>

  #### See

  doBlur_

  Inherited from Widget.doFocus_

### doKeyPress_

- doKeyPress_(evt): void

- Called when the user presses a key when this widget has the focus (focus).

  Notice that not every widget can have the focus. A widget doesn't need to listen the keypress DOM event. Rather, it shall override this method if necessary.

  #### Parameters

  - ##### evt: Event<unknown>

    the widget event. The original DOM event and target can be retrieved by zk.Event#domEvent and zk.Event#domTarget

  #### Returns void

  #### Default Value

      fire the widget event ({@link fireX}), and
      call parent's doKeyPress_ if the event propagation is not stopped ({@link zk.Event#stopped}).
      It is the so-called event propagation.
      <p>See also <a href="http://books.zkoss.org/wiki/ZK_Client-side_Reference/Notifications">ZK Client-side Reference: Notifications</a>

  #### See

  - doKeyDown_
  - doKeyUp_

  Inherited from Widget.doKeyPress_

### doKeyUp_

- doKeyUp_(evt): void

- Called when the user presses up a key when this widget has the focus (focus).

  Notice that not every widget can have the focus. A widget doesn't need to listen the keyup DOM event. Rather, it shall override this method if necessary.

  #### Parameters

  - ##### evt: Event<unknown>

    the widget event. The original DOM event and target can be retrieved by zk.Event#domEvent and zk.Event#domTarget

  #### Returns void

  #### Default Value

      fire the widget event ({@link fireX}), and
      call parent's doKeyUp_ if the event propagation is not stopped ({@link zk.Event#stopped}).
      It is the so-called event propagation.
      <p>See also <a href="http://books.zkoss.org/wiki/ZK_Client-side_Reference/Notifications">ZK Client-side Reference: Notifications</a>

  #### See

  - doKeyDown_
  - doKeyPress_

  Inherited from Widget.doKeyUp_

### doMouseDown_

- doMouseDown_(evt): void

- Called when the user presses down the mouse button on this widget (or one of its child widget). A widget doesn't need to listen the mousedown DOM event. Rather, it shall override this method if necessary.

  #### Parameters

  - ##### evt: Event<unknown>

    the widget event. The original DOM event and target can be retrieved by zk.Event#domEvent and zk.Event#domTarget

  #### Returns void

  #### Default Value

      fire the widget event ({@link fireX}), and
      call parent's doMouseDown_ if the event propagation is not stopped ({@link zk.Event#stopped}).
      <p>See also <a href="http://books.zkoss.org/wiki/ZK_Client-side_Reference/Notifications">ZK Client-side Reference: Notifications</a>

  #### See

  - doMouseMove_
  - doMouseOver_
  - doMouseOut_
  - doMouseUp_
  - doClick_

  Inherited from Widget.doMouseDown_

### doMouseMove_

- doMouseMove_(evt): void

- Called when the user moves the mouse pointer over this widget (or one of its child widget). A widget doesn't need to listen the mousemove DOM event. Rather, it shall override this method if necessary.

  #### Parameters

  - ##### evt: Event<unknown>

    the widget event. The original DOM event and target can be retrieved by zk.Event#domEvent and zk.Event#domTarget

  #### Returns void

  #### Default Value

      fire the widget event ({@link fireX}), and
      call parent's doMouseMove_ if the event propagation is not stopped ({@link zk.Event#stopped}).
      It is the so-called event propagation.
      <p>See also <a href="http://books.zkoss.org/wiki/ZK_Client-side_Reference/Notifications">ZK Client-side Reference: Notifications</a>

  #### See

  - doMouseOver_
  - doMouseOut_
  - doMouseDown_
  - doMouseUp_

  Inherited from Widget.doMouseMove_

### doMouseOut_

- doMouseOut_(evt): void

- Called when the user moves the mouse pointer out of a widget (or one of its child widget). A widget doesn't need to listen the mouseout DOM event. Rather, it shall override this method if necessary.

  #### Parameters

  - ##### evt: Event<unknown>

    the widget event. The original DOM event and target can be retrieved by zk.Event#domEvent and zk.Event#domTarget

    See also ZK Client-side Reference: Notifications

  #### Returns void

  #### Default Value

      fire the widget event ({@link fireX}), and
      call parent's doMouseOut_ if the event propagation is not stopped ({@link zk.Event#stopped}).

  #### See

  - doMouseMove_
  - doMouseOver_
  - doMouseDown_
  - doMouseUp_
  - doTooltipOut_

  Inherited from Widget.doMouseOut_

### doMouseOver_

- doMouseOver_(evt): void

- Called when the user moves the mouse pointer on top of a widget (or one of its child widget). A widget doesn't need to listen the mouseover DOM event. Rather, it shall override this method if necessary.

  #### Parameters

  - ##### evt: Event<unknown>

    the widget event. The original DOM event and target can be retrieved by zk.Event#domEvent and zk.Event#domTarget

  #### Returns void

  #### Default Value

      fire the widget event ({@link fireX}), and
      call parent's doMouseOver_ if the event propagation is not stopped ({@link zk.Event#stopped}).
      <p>See also <a href="http://books.zkoss.org/wiki/ZK_Client-side_Reference/Notifications">ZK Client-side Reference: Notifications</a>

  #### See

  - doMouseMove_
  - doMouseOver_
  - doMouseOut_
  - doMouseDown_
  - doMouseUp_
  - doTooltipOver_

  Inherited from Widget.doMouseOver_

### doMouseUp_

- doMouseUp_(evt): void

- Called when the user presses up the mouse button on this widget (or one of its child widget). A widget doesn't need to listen the mouseup DOM event. Rather, it shall override this method if necessary.

  #### Parameters

  - ##### evt: Event<unknown>

    the widget event. The original DOM event and target can be retrieved by zk.Event#domEvent and zk.Event#domTarget

  #### Returns void

  #### Default Value

      fire the widget event ({@link fireX}), and
      call parent's doMouseUp_ if the event propagation is not stopped ({@link zk.Event#stopped}).
      It is the so-called event propagation.
      <p>See also <a href="http://books.zkoss.org/wiki/ZK_Client-side_Reference/Notifications">ZK Client-side Reference: Notifications</a>

  #### See

  - doMouseMove_
  - doMouseOver_
  - doMouseOut_
  - doMouseDown_
  - doClick_

  Inherited from Widget.doMouseUp_

### doPaste_

- doPaste_(evt): void

- Called when the user paste text to this widget which has been the focused (focus).

  Notice that not every widget can have the focus. A widget doesn't need to listen the paste DOM event. Rather, it shall override this method if necessary.

  #### Parameters

  - ##### evt: Event<unknown>

    the widget event. The original DOM event and target can be retrieved by zk.Event#domEvent and zk.Event#domTarget

  #### Returns void

  #### Default Value

      fire the widget event ({@link fireX}), and
      call parent's doPaste_ if the event propagation is not stopped ({@link zk.Event#stopped}).
      It is the so-called event propagation.
      <p>See also <a href="http://books.zkoss.org/wiki/ZK_Client-side_Reference/Notifications">ZK Client-side Reference: Notifications</a>

  #### See

  - doKeyDown_
  - doKeyUp_
  - doKeyPress_

  Inherited from Widget.doPaste_

### doResizeScroll_

- doResizeScroll_(): void

- Resize zul.Scrollbar size after child added/removed or hide/show.

  #### Returns void

  #### Since

  6.5.0

  Inherited from Widget.doResizeScroll_

### doSelect_

- doSelect_(evt): void

- Called when the user clicks or right-clicks on widget or a child widget. It is called before doClick_ and doRightClick_.

  #### Parameters

  - ##### evt: Event<unknown>

    the widget event. The original DOM event and target can be retrieved by zk.Event#domEvent and zk.Event#domTarget

  #### Returns void

  #### Default Value

      does nothing but invokes the parent's {@link doSelect_}.
      Notice that it does not fire any event.
      <p>Deriving class that supports selection (such as {@link zul.sel.ItemWidget})
      shall override this to handle the selection.
      <p>Technically, the selection can be handled in {@link doClick_}.
      However, it is better to handle here since this method is invoked first
      such that the widget will be selected before one of its descendant widget
      handles {@link doClick_}.
      <p>Notice that calling {@link zk.Event#stop} will stop the invocation of
      parent's {@link doSelect_} and {@link doClick_}/{@link doRightClick_}.
      If you just don't want to call parent's {@link doSelect_}, simply
      not to invoke super's doSelect_.

  #### See

  - doClick_
  - doRightClick_

  #### Since

  5.0.1

  Inherited from Widget.doSelect_

### doSwipe_

- doSwipe_(evt): void

- Called when the user swipe left/right/up/down this widget.

  For example, ```ts var opts = evt.opts, dir = opts.dir; switch (dir) { case 'left': doSwipeLeft(); break; case 'right': doSwipeRight(); break; case 'up': doSwipeUp(); break; case 'down': doSwipeDown(); break; } ``` To define swipe direction rather than default condition, ```ts var opts = evt.opts, start = opts.start, stop = opts.stop, dispT = stop.time - start.time, deltaX = start.coords[0] - stop.coords[0], deltaY = start.coords[1] - stop.coords[1], dispX = Math.abs(deltaX), dispY = Math.abs(deltaY);

  //if swipe time is less than 500ms, it is considered as swipe event if (dispT < 500) { //if horizontal displacement is larger than 30px and vertical displacement is smaller than 75px, it is considered swipe left/right if (dispX > 30 && dispY < 75) //swipe left if deltaX > 0

  //if vertical displacement is large than 30px and horizontal displacement is smaller than 75px, it is considered swipe up/down else if (dispY > 30 && dispX < 75) //swipe up if deltaY > 0 } ```

  #### Parameters

  - ##### evt: Event<unknown>

    the widget event.

  #### Returns void

  #### Default Value

      fire the widget event ({@link fireX}), and
      call parent's doSwipe_ if the event propagation is not stopped ({@link zk.Event#stopped}).
      It is the so-called event propagation.

  #### Since

  6.5.0

  Inherited from Widget.doSwipe_

### domAttrs_

- domAttrs_(no?): string

- #### Parameters

  - ##### `Optional` no: DomAttrsOptions

    [options] the attributes to exclude (i.e., to turn off). If omitted, it means none (i.e., all included). For example, you don't want the style class to generate, call `domAttrs_({domClass:1})`. Notice, though a bit counter-intuition, specify 1 (or true) to denote exclusion. Allowed value (subclass might support more options):

    - id - exclude uuid
    - domClass - exclude domClass_
    - domStyle - exclude domStyle_
    - tooltiptext - exclude getTooltiptext
    - tabindex - exclude getTabindex

    return the HTML attributes, such as id="z_u7_3" class="z-button"

  #### Returns string

  the HTML attributes that is used to generate DOM element of this widget. It is usually used to implement a mold (redraw):

      function () {
        return '<div' + this.domAttrs_() + '></div>';
      }

  #### Default Value

  it generates id, style, class, and tooltiptext. Notice that it invokes domClass_ and domStyle_, unless they are disabled by the `no` argument.

  Inherited from Widget.domAttrs_

### domClass_

- domClass_(no?): string

- #### Parameters

  - ##### `Optional` no: DomClassOptions

    [options] the style class to exclude (i.e., to turn off). If omitted, it means none (i.e., all included). For example, you don't want sclass to generate, call `domClass_({sclass:1})`. Notice, though a bit counter-intuition, specify 1 (or true) to denote exclusion. Allowed value (subclass might support more options):

    - sclass - exclude getSclass
    - zclass - exclude getZclass

  #### Returns string

  the class name(s) used for the DOM element of this widget, such as `"z-button foo"`

  #### Default Value

      a concatenation of {@link getZclass} and {@link getSclass}.

  #### See

  - domStyle_
  - domAttrs_

  Inherited from Widget.domClass_

### domExtraAttrs_

- domExtraAttrs_(): string

- #### Returns string

  Inherited from Widget.domExtraAttrs_

### domListen_

- domListen_(node, evtnm, fn?, keyword?): this

- Registers an DOM event listener for the specified DOM element (aka., node). You can use jQuery to listen the DOM event directly, or use this method instead.

      bind_: function () {
        this.$supers('bind_', arguments);
        this.domListen_(this.$n(), "onChange"); //fn is omitted, so _doChange is assumed
        this.domListen_(this.$n("foo"), "onSelect", "_doFooSelect"); //specify a particular listener
      },
      unbind_: function () {
        this.domUnlisten_(this.$n(), "onChange"); //unlisten
        this.domUnlisten_(this.$n("foo"), "onSelect", "_doFooSelect");
        this.$supers('unbind_', arguments);
      },
      _doChange_: function (evt) { //evt is an instance of zk.Event
        //event listener
      },
      _doFooSelect: function (evt) {
      }

  See also ZK Client-side Reference: Notifications

  ### Design Mode

  If a widget is created and controlled by ZK Weaver for visual design, we call the widget is in design mode (Widget.$weave). Furthermore, this method does nothing if the widget is in the design mode. Thus, if you want to listen a DOM event (jq.Event), you have to use jQuery directly.

  #### Parameters

  - ##### node: HTMLElement | JQuery<HTMLElement>

    a node of this widget. It is usually retrieved by Widget.$n.

  - ##### evtnm: string

    the event name to register, such as onClick.

  - ##### `Optional` fn: string | CallableFunction

    the name (String) of the member method to handle the event, or the function (Function). It is optional. If omitted, _doEvtnm is assumed, where evtnm is the value passed thru the `evtnm` argument. For example, if the event name is onFocus, then the method is assumed to be _doFocus.

  - ##### `Optional` keyword: unknown

    the extra argumenet for the function, which is passed into the callback function. (since 7.0)

  #### Returns this

  #### See

  domUnlisten_

  Inherited from Widget.domListen_

### domStyle_

- domStyle_(no?): string

- #### Parameters

  - ##### `Optional` no: DomStyleOptions

    [options] the style to exclude (i.e., to turn off). If omitted, it means none (i.e., all included). For example, you don't want width to generate, call `domStyle_({width:1})`. Notice, though a bit counter-intuition, specify 1 (or true) to denote exclusion. Allowed value (subclass might support more options):

    - style - exclude getStyle
    - width - exclude getWidth
    - height - exclude getHeight
    - left - exclude getLeft
    - top - exclude getTop
    - zIndex - exclude getZIndex
    - visible - exclude isVisible

  #### Returns string

  the style used for the DOM element of this widget, such as `"width:100px;z-index:1;"`

  #### Default Value

      a concatenation of style, width, visible and so on.

  #### See

  - domClass_
  - domAttrs_

  Inherited from Widget.domStyle_

### domTextStyleAttr_

- domTextStyleAttr_(): undefined | string

- #### Returns undefined | string

  the style attribute that contains only the text related CSS styles. For example, it returns style="font-size:12pt;font-weight:bold" if #getStyle is border:none;font-size:12pt;font-weight:bold.

  It is usually used with getTextNode to ZK Client-side Reference: Text Styles and Inner Tags.

  #### See

  getTextNode

  Inherited from Widget.domTextStyleAttr_

### domTooltiptext_

- domTooltiptext_(): undefined | string

- #### Returns undefined | string

  the tooltiptext for generating the title attribute of the DOM element.

  #### Default Value

      return {@link getTooltiptext}.
      <p>Deriving class might override this method if the parent widget
      is not associated with any DOM element, such as treerow's parent: treeitem.

  #### Since

  5.0.2

  Inherited from Widget.domTooltiptext_

### domUnlisten_

- domUnlisten_(n, evtnm, fn?, keyword?): this

- Un-registers an event listener for the specified DOM element (aka., node).

  Refer to domListen_ for more information.

  #### Parameters

  - ##### n: HTMLElement | JQuery<HTMLElement>

  - ##### evtnm: string

    the event name to register, such as onClick.

  - ##### `Optional` fn: string | CallableFunction

    the name (String) of the member method to handle the event, or the function (Function). It is optional. If omitted, _doEvtnm is assumed, where evtnm is the value passed thru the `evtnm` argument. For example, if the event name is onFocus, then the method is assumed to be _doFocus.

  - ##### `Optional` keyword: unknown

    the extra argumenet for the function, which is passed into the callback function. (since 7.0)

  #### Returns this

  #### See

  domListen_

  Inherited from Widget.domUnlisten_

### dropEffect_

- dropEffect_(over?): void

- Called to have some visual effect when the user is dragging a widget over this widget and this widget is droppable. Notice it is the effect to indicate a widget is droppable.

  #### Parameters

  - ##### `Optional` over: boolean

    whether the user is dragging over (or out, if false)

  #### Returns void

  #### Default Value

      it adds the CSS class named 'z-drag-over' if over is true, and remove it if over is false.

  Inherited from Widget.dropEffect_

### extraBind_

- extraBind_(uuid, add): void

- Associates UUID with this widget.

  Notice that uuid is automatically associated (aka., bound) to this widget. Thus, you rarely need to invoke this method unless you want to associate with other identifiers.

  For example, ZK Google Maps uses this method since it has to bind the anchors manually.

  #### Parameters

  - ##### uuid: string

    the UUID to assign to the widgtet

  - ##### add: boolean

    whether to bind. Specify true if you want to bind; false if you want to unbind.

  #### Returns void

  Inherited from Widget.extraBind_

### fire

- fire(evtnm, data?, opts?, timeout?): Event<unknown>

- Fire a widget event. An instance of zk.Event is created to represent the event.

  The event listeners for this event will be called one-by-one unless zk.Event#stop is called.

  If the event propagation is not stopped (i.e., zk.Event#stop not called) and inServer is true, the event will be converted to an AU request and sent to the server. Refer to ZK Client-side Reference: AU Requests: Client-side Firing for more information.

  #### Parameters

  - ##### evtnm: string

    the event name, such as onClick

  - ##### `Optional` data: unknown

    the data depending on the event (zk.Event).

  - ##### `Optional` opts: EventOptions

    the options. Refer to zk.Event#opts

  - ##### `Optional` timeout: number

    the delay before sending the non-deferrable AU request (if necessary). If not specified or negative, it is decided automatically. It is ignored if no non-deferrable listener is registered at the server.

  #### Returns Event<unknown>

  the event being fired.

  #### See

  - fire
  - listen

  Inherited from Widget.fire

### fireX

- fireX(evt, timeout?): Event<unknown>

- Fire a widget event.

  #### Parameters

  - ##### evt: Event<unknown>

    the event to fire

  - ##### `Optional` timeout: number

    the delay before sending the non-deferrable AU request (if necessary). If not specified or negative, it is decided automatically. It is ignored if no non-deferrable listener is registered at the server.

  #### Returns Event<unknown>

  the event being fired, i.e., evt.

  #### See

  - fire
  - listen

  Inherited from Widget.fireX

### fixFlex_

- fixFlex_(): void

- #### Returns void

  Inherited from Widget.fixFlex_

### fixMinFlex_

- fixMinFlex_(n, orient): number

- #### Parameters

  - ##### n: HTMLElement

  - ##### orient: FlexOrient

  #### Returns number

  Inherited from Widget.fixMinFlex_

### focus

- focus(timeout?): boolean

- Sets the focus to this widget. This method will check if this widget can be activated by invoking canActivate first.

  Notice: don't override this method. Rather, override focus_, which this method depends on.

  #### Parameters

  - ##### `Optional` timeout: number

    how many milliseconds before changing the focus. If not specified or negative, the focus is changed immediately,

  #### Returns boolean

  whether the focus is gained to this widget.

  Inherited from Widget.focus

### focus_

- focus_(timeout?): boolean

- Called by focus to set the focus.

  #### Parameters

  - ##### `Optional` timeout: number

    how many milliseconds before changing the focus. If not specified or negative, the focus is changed immediately,

  #### Returns boolean

  whether the focus is gained to this widget.

  #### Default Value

  call child widget's focus until it returns true, or no child at all.

  ### Subclass Note

  - If a widget is able to gain focus, it shall override this method to invoke _global_.jqzk#focus.
  - It is called only if the DOM element is real visible (so you don't need to check again)
  ```ts focus_: function (timeout) { zk(this.$n('foo').focus(timeout); return true; } ```

  #### Since

  5.0.5

  Inherited from Widget.focus_

### forcerender

- forcerender(): void

- Forces the rendering if it is deferred. A typical way to defer the render is to specify setRenderdefer with a non-negative value. The other example is some widget might be optimized for the performance by not rendering some or the whole part of the widget. If the rendering is deferred, the corresponding DOM elements (Widget.$n) are not available. If it is important to you, you can force it to be rendered.

  Notice that this method only forces this widget to render. It doesn't force any of its children. If you want, you have invoke forcerender one-by-one

  The derived class shall override this method, if it implements the render deferring (other than setRenderdefer).

  #### Returns void

  #### Since

  5.0.2

  Inherited from Widget.forcerender

### fromPageCoord

- fromPageCoord(x, y): Offset

- Converts a coordinate related to the browser window into the coordinate related to this widget.

  #### Parameters

  - ##### x: number

    the X coordinate related to the browser window

  - ##### y: number

    the Y coordinate related to the browser window

  #### Returns Offset

  the coordinate related to this widget (i.e., [0, 0] is the left-top corner of the widget).

  #### Since

  5.0.2

  Inherited from Widget.fromPageCoord

### get

- get(name): unknown

- #### Parameters

  - ##### name: string

    the name of property.

  #### Returns unknown

  a value from the specified property.

  #### Since

  5.0.2

  Inherited from Widget.get

### get$Class

- get$Class<T>(): T

- #### Type Parameters

  - #### T extends typeof ZKObject

  #### Returns T

  the class of the subsclass which extends from zk.Class.

  #### Since

  10.0.0

  Inherited from Widget.get$Class

### getAction

- getAction(): undefined | string

- #### Returns undefined | string

  the client-side action.

  #### Since

  5.0.6

  Inherited from Widget.getAction

### getCaveNode

- getCaveNode(): undefined | HTMLElement

- Called by insertChildHTML_ to find the location to place the DOM element of the child. More precisely, the node returned by getCaveNode is the parent DOM element of the child's DOM element.

  #### Returns undefined | HTMLElement

  #### Default Value

  `this.$n('cave') || this.$n()` You can override it to return whatever DOM element you want.

  #### See

  insertChildHTML_

  Inherited from Widget.getCaveNode

### getChildAt

- getChildAt<T>(j, skipHidden?): undefined | T

- #### Type Parameters

  - #### T extends Widget<HTMLElement>

  #### Parameters

  - ##### j: number

    the index of the child widget to return. 0 means the first child, 1 for the second and so on.

  - ##### `Optional` skipHidden: boolean

    whether to skip hidden child widgets, defaults to false.

  #### Returns undefined | T

  the child widget at the specified index or null if no such index.

  Notice this method is not good if there are a lot of children since it iterates all children one by one.

  #### See

  getChildIndex

  Inherited from Widget.getChildAt

### getChildIndex

- getChildIndex(): number

- #### Returns number

  the child index of this widget. By child index we mean the order of the child list of the parent. For example, if this widget is the parent's first child, then 0 is returned.

  Notice that getChildAt is called against the parent, while this method called against the child. In other words, `w.parent.getChildAt(w.getChildIndex())` returns `w`.

  Notice this method is not good if there are a lot of children since it iterates all children one by one.

  Inherited from Widget.getChildIndex

### getChildMinSize_

- getChildMinSize_(attr, wgt): number

- #### Parameters

  - ##### attr: FlexOrient

  - ##### wgt: Widget<HTMLElement>

  #### Returns number

  Inherited from Widget.getChildMinSize_

### getConfig

- getConfig(): undefined | Options

- #### Returns undefined | Options

  the current configuration

### getContentEdgeHeight_

- getContentEdgeHeight_(height): number

- #### Parameters

  - ##### height: number

  #### Returns number

  Inherited from Widget.getContentEdgeHeight_

### getContentEdgeWidth_

- getContentEdgeWidth_(width): number

- #### Parameters

  - ##### width: number

  #### Returns number

  Inherited from Widget.getContentEdgeWidth_

### getContext

- getContext(): undefined | string

- #### Returns undefined | string

  the ID of the popup (zul.wgt.Popup) that should appear when the user right-clicks on the element (aka., context menu).

  #### Default Value

  `null` (no context menu).

  Inherited from Widget.getContext

### getCssflex

- getCssflex(): boolean

- #### Returns boolean

  whether using css flex in this component or not.

  #### Since

  9.0.0

  Inherited from Widget.getCssflex

### getCtrlKeys

- getCtrlKeys(): undefined | string

- #### Returns undefined | string

  what keystrokes to intercept.

  #### Default Value

  `null`.

  Inherited from Widget.getCtrlKeys

### getDomEvtInf_

- getDomEvtInf_(wgt, evtnm, fn?, keyword?): [string, JQueryEventHandler]

- #### Parameters

  - ##### wgt: Widget<HTMLElement>

  - ##### evtnm: string

  - ##### `Optional` fn: string | CallableFunction

  - ##### `Optional` keyword: unknown

  #### Returns [string, JQueryEventHandler]

  Inherited from Widget.getDomEvtInf_

### getDragMessage_

- getDragMessage_(): undefined | string

- #### Returns undefined | string

  the message to show when an user is dragging this widget, or null if it prefers to clone the widget with cloneDrag_.

  #### Default Value

      it return the inner text if if {@link Widget.$n} returns a TR, TD, or TH element. Otherwise, it returns null and {@link cloneDrag_} will be called to create a DOM element to indicate dragging.
      <p>Notice that the text would be encoded for XSS issue since 8.0.4.2. It should be considered when overriding.

  Inherited from Widget.getDragMessage_

### getDragNode

- getDragNode(): HTMLElement

- #### Returns HTMLElement

  the DOM element of this widget that can be dragged.

  #### Default Value

      it returns {@link Widget.$n}, i.e., the user can drag the widget anywhere.

  #### See

  ignoreDrag_

  Inherited from Widget.getDragNode

### getDragOptions_

- getDragOptions_(map): DraggableOptions

- #### Parameters

  - ##### map: DraggableOptions

    the default implementation

  #### Returns DraggableOptions

  the options used to instantiate zk.Draggable.

  #### Default Value

  it does nothing but returns the `map` parameter, i.e., the default options.

  Though rarely used, you can override any option passed to zk.Draggable, such as the start effect, ghosting and so on.

  Inherited from Widget.getDragOptions_

### getDraggable

- getDraggable(): string | boolean

- #### Returns string | boolean

  the identifier of a draggable type for this widget, or null if not draggable.

  Inherited from Widget.getDraggable

### getDrop_

- getDrop_(dragged): undefined | Widget<HTMLElement>

- #### Parameters

  - ##### dragged: Widget<HTMLElement>

    the widget being dragged (never null).

  #### Returns undefined | Widget<HTMLElement>

  the widget if it allows to drop the specified widget (being dragged), or null if not allowed. It is called when the user is dragging a widget on top a widget.

  #### Default Value

      it check if the values of droppable and draggable match. It will check the parent ({@link parent}), parent's parent, and so on until matched, or none of them are matched.
      <p>Notice that the widget to test if droppable might be the same as the widget being dragged (i.e., this == dragged). By default, we consider them as non-matched.

  Inherited from Widget.getDrop_

### getDroppable

- getDroppable(): undefined | string | boolean

- #### Returns undefined | string | boolean

  the identifier, or a list of identifiers of a droppable type for this widget, or null if not droppable.

  Inherited from Widget.getDroppable

### getFirstNode_

- getFirstNode_(): undefined | HTMLElement

- #### Returns undefined | HTMLElement

  the first DOM element of this widget. If this widget has no corresponding DOM element, this method will look for its siblings.

  This method is designed to be used with insertChildHTML_ for retrieving the DOM element of the `before` widget.

  Inherited from Widget.getFirstNode_

### getFlexContainer_

- getFlexContainer_(): undefined | HTMLElement

- #### Returns undefined | HTMLElement

  Inherited from Widget.getFlexContainer_

### getFlexDirection_

- getFlexDirection_(): undefined | string

- #### Returns undefined | string

  Inherited from Widget.getFlexDirection_

### getFloatZIndex_

- getFloatZIndex_(node): string | number

- #### Parameters

  - ##### node: HTMLElement

    the element whose z-index needs to be set. It is the value specified in `opts.node` when setFloating_ is called. If not specified, it is the same as Widget.$n.

  #### Returns string | number

  the z-index of a floating widget. It is called by setTopmost to decide the topmost z-index, and called only if setFloating_ is ever called.

  #### Since

  5.0.3

  #### See

  setFloating_

  Inherited from Widget.getFloatZIndex_

### getHeight

- getHeight(): undefined | string

- #### Returns undefined | string

  the height of this widget.

  #### See

  getWidth

  Overrides Widget.getHeight

### getHflex

- getHflex(): undefined | string | boolean

- #### Returns undefined | string | boolean

  horizontal flex hint of this widget.

  #### See

  setHflex

  Inherited from Widget.getHflex

### getId

- getId(): undefined | string

- #### Returns undefined | string

  the identifier of this widget, or null if not assigned. It is the same as id.

  Inherited from Widget.getId

### `Optional` getInputNode

- getInputNode(): undefined | HTMLInputElement

- #### Returns undefined | HTMLInputElement

  Inherited from Widget.getInputNode

### getLeft

- getLeft(): undefined | string

- #### Returns undefined | string

  the left of this widget.

  #### See

  getTop

  Inherited from Widget.getLeft

### getMarginSize_

- getMarginSize_(attr): number

- #### Parameters

  - ##### attr: FlexOrient

  #### Returns number

  Inherited from Widget.getMarginSize_

### getMold

- getMold(): string

- #### Returns string

  this widget's mold. A mold is a template to render a widget. In other words, a mold represents a visual presentation of a widget. Depending on implementation, a widget can have multiple molds.

  Inherited from Widget.getMold

### getOldWidget_

- getOldWidget_(n): undefined | Widget<HTMLElement>

- #### Parameters

  - ##### n: string | HTMLElement

    the DOM element to match the widget.

  #### Returns undefined | Widget<HTMLElement>

  the widget associated with the given node element. It is used by replaceHTML and replaceChildHTML_ to retrieve the widget associated with the note.

  It is similar to Widget.$ but it gives the widget a chance to handle extreme cases. For example, Treeitem doesn't associate a DOM element (or you can say Treeitem and Treerow shares the same DOM element), so `zk.Widget.$(n)` will return Treerow, not Treeitem. If it is the case, you can override it to make replaceHTML works correctly.

  #### Since

  5.0.3

  Inherited from Widget.getOldWidget_

### getPage

- getPage(): undefined | Page

- #### Returns undefined | Page

  the page that this widget belongs to, or null if there is no page available.

  Inherited from Widget.getPage

### getParentSize_

- getParentSize_(p): {
  height: number;
  width: number;
  }

- #### Parameters

  - ##### p: HTMLElement

  #### Returns {
  height: number;
  width: number;
  }

  - ##### height: number

  - ##### width: number

  Inherited from Widget.getParentSize_

### getPopup

- getPopup(): undefined | string

- #### Returns undefined | string

  the ID of the popup (zul.wgt.Popup) that should appear when the user clicks on the element.

  #### Default Value

  `null` (no popup).

  Inherited from Widget.getPopup

### getRenderdefer

- getRenderdefer(): number

- #### Returns number

  the number of milliseconds before rendering this component at the client.

  #### Default Value

  `-1` (don't wait).

  #### Since

  5.0.2

  Inherited from Widget.getRenderdefer

### getSclass

- getSclass(): undefined | string

- #### Returns undefined | string

  the CSS class of this widget.

  #### See

  - setSclass
  - getZclass
  - getStyle

  Inherited from Widget.getSclass

### getScrollLeft

- getScrollLeft(): number

- #### Returns number

  the scroll left of the associated DOM element of this widget. 0 is always returned if this widget is not bound to a DOM element yet.

  Inherited from Widget.getScrollLeft

### getScrollTop

- getScrollTop(): number

- #### Returns number

  the scroll top of the associated DOM element of this widget. 0 is always returned if this widget is not bound to a DOM element yet.

  Inherited from Widget.getScrollTop

### getStyle

- getStyle(): undefined | string

- #### Returns undefined | string

  the CSS style of this widget

  #### See

  - setStyle
  - getSclass
  - getZclass

  Inherited from Widget.getStyle

### getTabindex

- getTabindex(): undefined | number

- #### Returns undefined | number

  the tab order of this component.

  #### Since

  8.0.2

  Inherited from Widget.getTabindex

### getTextNode

- getTextNode(): undefined | HTMLElement

- #### Returns undefined | HTMLElement

  the DOM element that is used to hold the text, or null if this widget doesn't show any text.

  #### Default Value

      return null (no text node).
      <p>For example, {@link updateDomStyle_} will change the style
      of the text node, if any, to make sure the text is displayed correctly.
      <p>See also <a href="http://books.zkoss.org/wiki/ZK_Client-side_Reference/Component_Development/Client-side/Text_Styles_and_Inner_Tags">ZK Client-side Reference: Text Styles and Inner Tags</a>.

  #### See

  - domTextStyleAttr_
  - updateDomStyle_

  Inherited from Widget.getTextNode

### getTooltip

- getTooltip(): undefined | string

- #### Returns undefined | string

  the ID of the popup (zul.wgt.Popup) that should be used as a tooltip window when the mouse hovers over the element for a moment. The tooltip will automatically disappear when the mouse is moved away.

  #### Default Value

  `null` (no tooltip).

  Inherited from Widget.getTooltip

### getTooltiptext

- getTooltiptext(): undefined | string

- #### Returns undefined | string

  the tooltip text of this widget.

  Inherited from Widget.getTooltiptext

### getTop

- getTop(): undefined | string

- #### Returns undefined | string

  the top of this widget.

  #### See

  getLeft

  Inherited from Widget.getTop

### getTopWidget

- getTopWidget(): undefined | Widget<HTMLElement>

- #### Returns undefined | Widget<HTMLElement>

  the top widget, which is the first floating ancestor, or null if no floating ancestor.

  #### See

  isFloating_

  Inherited from Widget.getTopWidget

### getValue

- getValue(): undefined | string

- #### Returns undefined | string

  editor's content with html format

### getVflex

- getVflex(): undefined | string | boolean

- #### Returns undefined | string | boolean

  vertical flex hint of this widget.

  #### See

  setVflex

  Inherited from Widget.getVflex

### getWidth

- getWidth(): undefined | string

- #### Returns undefined | string

  the width of this widget.

  #### See

  getHeight

  Overrides Widget.getWidth

### getZIndex

- getZIndex(): string | number

- #### Returns string | number

  the Z index.

  Inherited from Widget.getZIndex

### getZclass

- getZclass(): string

- #### Returns string

  the ZK Cascading Style class(es) for this widget.

  #### See

  - setZclass
  - getSclass
  - getStyle

  Inherited from Widget.getZclass

### getZindex

- getZindex(): string | number

- #### Returns string | number

  Inherited from Widget.getZindex

### hide

- hide(): this

- Makes this widget invisible. It is a shortcut of `setVisible(false)`

  #### Returns this

  Inherited from Widget.hide

### ignoreChildNodeOffset_

- ignoreChildNodeOffset_(attr): boolean

- #### Parameters

  - ##### attr: FlexOrient

  #### Returns boolean

  Inherited from Widget.ignoreChildNodeOffset_

### ignoreDescendantFloatUp_

- ignoreDescendantFloatUp_(des): boolean

- A widget call this function of its ancestor if it wants to know whether its ancestor prefer ignore float up event of it self.

  #### Parameters

  - ##### des: Widget<HTMLElement>

  #### Returns boolean

  #### Default Value

  `false`.

  #### Since

  6.0.0

  Inherited from Widget.ignoreDescendantFloatUp_

### ignoreDrag_

- ignoreDrag_(pt, evt?, drag?): boolean

- #### Parameters

  - ##### pt: Offset

  - ##### `Optional` evt: Event<unknown>

  - ##### `Optional` drag: Draggable

  #### Returns boolean

  if the location that an user is trying to drag is allowed, i.e., whether to ignore.

  #### Default Value

      it always returns false.
      If the location that an user can drag is static, override {@link getDragNode},
      which is easier to implement.

  Inherited from Widget.ignoreDrag_

### ignoreFlexSize_

- ignoreFlexSize_(attr): boolean

- #### Parameters

  - ##### attr: FlexOrient

  #### Returns boolean

  Inherited from Widget.ignoreFlexSize_

### inRerendering_

- inRerendering_(): boolean

- #### Returns boolean

  whether the widget is in re-rendering phases.

  #### Since

  10.0.0

  Inherited from Widget.inRerendering_

### initDrag_

- initDrag_(): void

- Initializes the widget to make it draggable. It is called if getDraggable is set (and bound).

  You rarely need to override this method, unless you want to handle drag-and-drop differently.

  #### Returns void

  #### Default Value

      use {@link zk.Draggable} to implement drag-and-drop,
      and the handle to drag is the element returned by {@link getDragNode}

  #### See

  cleanDrag_

  Inherited from Widget.initDrag_

### insertBefore

- insertBefore(child, sibling?, ignoreDom?): boolean

- Inserts a child widget before the reference widget (the `sibling` argument).

  ### Subclass Note

  - If this widget is bound to the DOM tree, this method invoke insertChildHTML_ to insert the DOM content of the child to the DOM tree. Thus, override insertChildHTML_ if you want to insert more than the DOM content generated by redraw.
  - If a widget wants to do something when the parent is changed, overrides beforeParentChanged_ (which is called by insertBefore, removeChild and appendChild).

  #### Parameters

  - ##### child: Widget<HTMLElement>

    the child widget

  - ##### `Optional` sibling: Widget<HTMLElement>

    the sibling widget (the 'insert' point where the new widget will be placed before). If null or omitted, it is the same as appendChild

  - ##### `Optional` ignoreDom: boolean

  #### Returns boolean

  whether the widget was added successfully. It returns false if the child is always the last child (lastChild).

  #### See

  appendChild

  Inherited from Widget.insertBefore

### insertChildHTML_

- insertChildHTML_(child, before?, desktop?): void

- Inserts the HTML content generated by the specified child widget before the reference widget (the before argument). It is called by insertBefore and appendChild to handle the DOM tree.

  Deriving classes might override this method to modify the HTML content, such as enclosing with TD.

  Notice that when inserting the child (without the before argument), this method will call getCaveNode to find the location to place the DOM element of the child. More precisely, the node returned by getCaveNode is the parent DOM element of the child. The default implementation of getCaveNode is to look for a sub-node named uuid$cave. In other words, it tried to place the child inside the so-called cave sub-node, if any. Otherwise, Widget.$n is assumed.

  #### Parameters

  - ##### child: Widget<HTMLElement>

    the child widget to insert

  - ##### `Optional` before: Widget<HTMLElement>

    the child widget as the reference to insert the new child before. If null, the HTML content will be appended as the last child. The implementation can use before.getFirstNode_() (getFirstNode_) to retrieve the DOM element

  - ##### `Optional` desktop: Desktop

  #### Returns void

  #### See

  getCaveNode

  Inherited from Widget.insertChildHTML_

### isBinding

- isBinding(): boolean

- #### Returns boolean

  whether this widget is being bound to DOM. In other words, it returns true if bind is called against this widget or any of its ancestors.

  #### Since

  5.0.8

  Inherited from Widget.isBinding

### isCssflex

- isCssflex(): boolean

- #### Returns boolean

  Inherited from Widget.isCssflex

### isExcludedHflex_

- isExcludedHflex_(): boolean

- #### Returns boolean

  Inherited from Widget.isExcludedHflex_

### isExcludedVflex_

- isExcludedVflex_(): boolean

- #### Returns boolean

  Inherited from Widget.isExcludedVflex_

### isFloating_

- isFloating_(): boolean

- #### Returns boolean

  if this widget is floating.

  We say a widget is floating if the widget floats on top of others, rather than embed inside the parent. For example, an overlapped window is floating, while an embedded window is not.

  #### See

  setFloating_

  Inherited from Widget.isFloating_

### isFocus

- isFocus(): boolean

- #### Returns boolean

  the focus set by setFocus.

  Note: it simply returns what is passed to setFocus.

  #### Default Value

  `false`

  #### Since

  10.0.0

  Inherited from Widget.isFocus

### isHflex

- isHflex(): undefined | string | boolean

- #### Returns undefined | string | boolean

  Inherited from Widget.isHflex

### isListen

- isListen(evt, opts?): boolean

- #### Parameters

  - ##### evt: string

  - ##### `Optional` opts: Partial<{
    any: boolean;
    asapOnly: boolean;
    }>

    the options. If omitted, it checks only if the server registers any non-deferrable listener, and if the client register any listener. Allowed values:

    - any - in addition to the server's non-deferrable listener and client's listener, it also checks deferrable listener, and the so-called important events
    - asapOnly - it checks only if the server registers a non-deferrable listener, and if any non-deferrable important event. Use this option, if you want to know whether an AU request will be sent.

  #### Returns boolean

  if a listener is registered for the specified event.

  Inherited from Widget.isListen

### isRealElement

- isRealElement(): boolean

- #### Returns boolean

  whether the widget has its own element bound to HTML DOM tree.

  #### Since

  7.0.0

  Inherited from Widget.isRealElement

### isRealVisible

- isRealVisible(opts?): boolean

- #### Parameters

  - ##### `Optional` opts: RealVisibleOptions

    the options. Allowed values:

    - dom - whether to check DOM element instead of isVisible
    - until - specifies the ancestor to search up to (included). If not specified, this method searches all ancestors. If specified, this method searches only this widget and ancestors up to the specified one (included).
    - strict - whether to check DOM element's style.visibility. It is used only if `dom` is also specified.
    - cache - a map of cached result (since 5.0.8). Ignored if null. If specified, the result will be stored and used to speed up the processing.

  #### Returns boolean

  if this widget is really visible, i.e., all ancestor widget and itself are visible.

  #### See

  isVisible

  Inherited from Widget.isRealVisible

### isVflex

- isVflex(): undefined | string | boolean

- #### Returns undefined | string | boolean

  Inherited from Widget.isVflex

### isVisible

- isVisible(strict?): boolean

- #### Parameters

  - ##### `Optional` strict: boolean

    whether to check the visibility of the associated DOM element. If true, this widget and the associated DOM element must be both visible.

  #### Returns boolean

  if this widget is visible

  #### See

  - isRealVisible
  - zk.JQZK.isVisible
  - setVisible

  Inherited from Widget.isVisible

### isWatchable_

- isWatchable_(name, p?, cache?): boolean

- #### Parameters

  - ##### name: string

    the name of the watch, such as onShow

  - ##### `Optional` p: Widget<HTMLElement>

    the parent widget causing the watch event. It is null if it is not caused by global.zWatch#fireDown.

  - ##### `Optional` cache: Record<string, unknown>

    a map of cached result (since 5.0.8). Ignored if null. If specified, the result will be stored and used to speed up the processing

  #### Returns boolean

  if the given watch shall be fired for this widget. It is called by zWatch to check if the given watch shall be fired

  #### Since

  5.0.3

  Inherited from Widget.isWatchable_

### listen

- listen(infs, priority?): this

- Registers listener(s) to the specified event. For example,

      wgt.listen({
        onClick: wgt,
        onOpen: wgt._onOpen,
        onMove: [o, o._onMove]
      });

  As shown above, you can register multiple listeners at the same time, and echo value in infos can be a target, a function, or a two-element array, where the first element is a target and the second the function. A target can be any object that this will reference to when the event listener is called. Notice it is not zk.Event#target. Rather, it is `this` when the listener is called.

  If the function is not specified, the target must have a method having the same name as the event. For example, if `wgt.listen({onChange: target})` was called, then target.onChange(evt) will be called when onChange event is fired (by fire). On the other hand, if the target is not specified, the widget is assumed to be the target.

  #### Parameters

  - ##### infs: Record<string, unknown>

  - ##### `Optional` priority: number

    the higher the number, the earlier it is called. If omitted, 0 is assumed. If a widget needs to register a listener as the default behavior (such as zul.wnd.Window's onClose), -1000 is suggested

  #### Returns this

  #### See

  - unlisten
  - fire
  - fireX
  - setListeners
  - setListener

  Inherited from Widget.listen

### listenOnFitSize_

- listenOnFitSize_(): void

- Listens to onFitSize event. Override if a subclass wants to skip listening or have extra processing.

  #### Returns void

  #### See

  unlistenOnFitSize_

  #### Since

  5.0.8

  Inherited from Widget.listenOnFitSize_

### onAfterSize

- onAfterSize(): void

- Called to fire the onAfterSize event.

  #### Returns void

  #### Since

  6.5.2

  Inherited from Widget.onAfterSize

### onChildAdded_

- onChildAdded_(child): void

- A callback called after a child has been added to this widget.

  Notice: when overriding this method, onChildReplaced_ is usually required to override, too.

  #### Parameters

  - ##### child: Widget<HTMLElement>

    the child being added

  #### Returns void

  #### See

  - beforeParentChanged_
  - onChildRemoved_

  Inherited from Widget.onChildAdded_

### onChildRemoved_

- onChildRemoved_(child): void

- A callback called after a child has been removed to this widget.

  Notice: when overriding this method, onChildReplaced_

  #### Parameters

  - ##### child: Widget<HTMLElement>

    the child being removed

  #### Returns void

  #### See

  - beforeParentChanged_
  - onChildAdded_

  Inherited from Widget.onChildRemoved_

### onChildRenderDefer_

- onChildRenderDefer_(child): void

- A callback called after a child has been delay rendered.

  #### Parameters

  - ##### child: Widget<HTMLElement>

    the child being rendered

  #### Returns void

  #### See

  deferRedraw_

  #### Since

  6.5.1

  Inherited from Widget.onChildRenderDefer_

### onChildReplaced_

- onChildReplaced_(oldc, newc): void

- A callback called after a child has been replaced. Unlike onChildAdded_ and onChildRemoved_, this method is called only if zk.AuCmd1#outer. And if this method is called, neither onChildAdded_ nor onChildRemoved_ will be called.

  #### Parameters

  - ##### oldc: undefined | Widget<HTMLElement>

    the old child (being removed). Note: it might be null.

  - ##### newc: undefined | Widget<HTMLElement>

    the new child (being added). Note: it might be null.

  #### Returns void

  #### Default Value

      invoke {@link onChildRemoved_} and then
      {@link onChildAdded_}.
      Furthermore, it sets this.childReplacing_ to true before invoking
      {@link onChildRemoved_} and {@link onChildAdded_}, so we can optimize
      the code (such as rerender only once) by checking its value.

  Inherited from Widget.onChildReplaced_

### onChildVisible_

- onChildVisible_(child): void

- A callback called after a child's visibility is changed (i.e., setVisible was called).

  Notice that this method is called after the _visible property and the associated DOM element(s) have been changed.

  To know if it is becoming visible, you can check isVisible (such as this._visible).

  #### Parameters

  - ##### child: Widget<HTMLElement>

    the child whose visiblity is changed

  #### Returns void

  Inherited from Widget.onChildVisible_

### onDrop_

- onDrop_(drag, evt): void

- Called to fire the onDrop event. You could override it to implement some effects to indicate dropping.

  #### Parameters

  - ##### drag: Draggable

    the draggable controller

  - ##### evt: Event<unknown>

    the event causes the drop

  #### Returns void

  #### Default Value

      it fires the onDrop event (with {@link fire}).
      The subclass can override this method to pass more options such as the coordination where a widget is dropped.

  Inherited from Widget.onDrop_

### onSize

- onSize(): void

- #### Returns void

  Overrides Widget.onSize

### proxy

- proxy<A, R>(func): ((...args) => R)

- Proxies a member function such that it can be called with this object in a context that this object is not available. It sounds a bit strange at beginning but useful when passing a member of an object that will be executed as a global function.

  Example: Let us say if you want a member function to be called periodically, you can do as follows. ```ts setInterval(wgt.proxy(wgt.doIt), 1000); //assume doIt is a member function of wgt ```

  With proxy, when doIt is called, this references to wgt. On the other hand, the following won't work since this doesn't reference to wgt, when doIt is called. ```ts setInterval(wgt.doIt, 1000); //WRONG! doIt will not be called with wgt ```

  Notice that this method caches the result so that it will return the same proxied function, if you pass the same function again.

  #### Type Parameters

  - #### A extends unknown[]

  - #### R

  #### Parameters

  - ##### func: ((...args) => R)

    a method member of this object

    - - (...args): R

      - #### Parameters

        - ##### `Rest` ...args: A

        #### Returns R

  #### Returns ((...args) => R)

  a function that can be called as a global function (that actually have `this` referencing to this object).

  - - (...args): R

    - #### Parameters

      - ##### `Rest` ...args: A

      #### Returns R

  Inherited from Widget.proxy

- proxy<A0, A, R>(func): ((arg0, ...args) => R)

- #### Type Parameters

  - #### A0

  - #### A extends unknown[]

  - #### R

  #### Parameters

  - ##### func: ((arg0, ...args) => R)

    - - (arg0, ...args): R

      - #### Parameters

        - ##### arg0: A0

        - ##### `Rest` ...args: A

        #### Returns R

  #### Returns ((arg0, ...args) => R)

  - - (arg0, ...args): R

    - #### Parameters

      - ##### arg0: A0

      - ##### `Rest` ...args: A

      #### Returns R

  Inherited from Widget.proxy

- proxy<A0, A1, A, R>(func): ((arg0, arg1, ...args) => R)

- #### Type Parameters

  - #### A0

  - #### A1

  - #### A extends unknown[]

  - #### R

  #### Parameters

  - ##### func: ((arg0, arg1, ...args) => R)

    - - (arg0, arg1, ...args): R

      - #### Parameters

        - ##### arg0: A0

        - ##### arg1: A1

        - ##### `Rest` ...args: A

        #### Returns R

  #### Returns ((arg0, arg1, ...args) => R)

  - - (arg0, arg1, ...args): R

    - #### Parameters

      - ##### arg0: A0

      - ##### arg1: A1

      - ##### `Rest` ...args: A

      #### Returns R

  Inherited from Widget.proxy

- proxy<A0, A1, A2, A, R>(func): ((arg0, arg1, arg2, ...args) => R)

- #### Type Parameters

  - #### A0

  - #### A1

  - #### A2

  - #### A extends unknown[]

  - #### R

  #### Parameters

  - ##### func: ((arg0, arg1, arg2, ...args) => R)

    - - (arg0, arg1, arg2, ...args): R

      - #### Parameters

        - ##### arg0: A0

        - ##### arg1: A1

        - ##### arg2: A2

        - ##### `Rest` ...args: A

        #### Returns R

  #### Returns ((arg0, arg1, arg2, ...args) => R)

  - - (arg0, arg1, arg2, ...args): R

    - #### Parameters

      - ##### arg0: A0

      - ##### arg1: A1

      - ##### arg2: A2

      - ##### `Rest` ...args: A

      #### Returns R

  Inherited from Widget.proxy

- proxy<A0, A1, A2, A3, A, R>(func): ((arg0, arg1, arg2, arg3, ...args) => R)

- #### Type Parameters

  - #### A0

  - #### A1

  - #### A2

  - #### A3

  - #### A extends unknown[]

  - #### R

  #### Parameters

  - ##### func: ((arg0, arg1, arg2, arg3, ...args) => R)

    - - (arg0, arg1, arg2, arg3, ...args): R

      - #### Parameters

        - ##### arg0: A0

        - ##### arg1: A1

        - ##### arg2: A2

        - ##### arg3: A3

        - ##### `Rest` ...args: A

        #### Returns R

  #### Returns ((arg0, arg1, arg2, arg3, ...args) => R)

  - - (arg0, arg1, arg2, arg3, ...args): R

    - #### Parameters

      - ##### arg0: A0

      - ##### arg1: A1

      - ##### arg2: A2

      - ##### arg3: A3

      - ##### `Rest` ...args: A

      #### Returns R

  Inherited from Widget.proxy

### redraw

- redraw(out, skipper?): void

- Generates the HTML fragment for this widget. The HTML fragment shall be pushed to out. For example,

      out.push('<div', this.domAttrs_(), '>');
      for (var w = this.firstChild; w; w = w.nextSibling)
        w.redraw(out);
      out.push('</div>');

  #### Parameters

  - ##### out: string[]

    an array to output HTML fragments. Technically it can be anything that has the method called `push`

  - ##### `Optional` skipper: Skipper

  #### Returns void

  #### Default Value

      it retrieves the redraw function associated with
      the mold ({@link getMold}) and then invoke it.
      The redraw function must have the same signature as this method.

  Inherited from Widget.redraw

### redrawHTML_

- redrawHTML_(skipper?, trim?): string

- #### Parameters

  - ##### `Optional` skipper: Skipper

    the skipper. Ignored if null

  - ##### `Optional` trim: boolean

    whether to trim the HTML content before replacing

  #### Returns string

  the HTML fragment of this widget.

  Inherited from Widget.redrawHTML_

### removeChild

- removeChild(child, ignoreDom?): boolean

- Removes a child with more control. It is similar to removeChild except the caller could prevent it from removing the DOM element.

  Notice that the associated DOM elements and unbind_ is called first (i.e., called before beforeParentChanged_, modifying the widget tree, ID space, and onChildRemoved_).

  #### Parameters

  - ##### child: Widget<HTMLElement>

    the child to remove.

  - ##### `Optional` ignoreDom: boolean

    whether to remove the DOM element

  #### Returns boolean

  whether it is removed successfully.

  #### See

  - detach
  - clear

  Inherited from Widget.removeChild

### removeChildHTML_

- removeChildHTML_(child, ignoreDom?): void

- Removes the corresponding DOM content of the specified child. It is called by removeChild to remove the DOM content.

  The default implementation of this method will invoke removeHTML_ if the ignoreDom argument is false or not specified.

  Overrides this method or removeHTML_ if you have to remove DOM elements other than child's node (and the descendants).

  #### Parameters

  - ##### child: Widget<HTMLElement>

    the child widget to remove

  - ##### `Optional` ignoreDom: boolean

    whether to remove the DOM element

  #### Returns void

  Inherited from Widget.removeChildHTML_

### removeHTML_

- removeHTML_(n): void

- Removes the HTML DOM content.

  The default implementation simply removes the DOM element passed in.

  Overrides this method if you have to remove the related DOM elements.

  #### Parameters

  - ##### n: HTMLElement | HTMLElement[]

    an array of DOMElement to remove. If this widget is associated with a DOM element (Widget.$n returns non-null), n is a single element array. If this widget is not associated with any DOM element, an array of child widget's DOM elements are returned.

  #### Returns void

  #### Since

  5.0.1

  Inherited from Widget.removeHTML_

### replaceCavedChildren_

- replaceCavedChildren_(subId, wgts, tagBeg?, tagEnd?): void

- Replaced the child widgets with the specified widgets. It is useful if you want to replace a part of children whose DOM element is a child element of `subId` (this.$n(subId)).

  Note: it assumes this.$n(subId) exists.

  #### Parameters

  - ##### subId: string

    the ID of the cave that contains the child widgets to replace with.

  - ##### wgts: Widget<HTMLElement>[]

    an array of widgets that will become children of this widget

  - ##### `Optional` tagBeg: string

    the beginning of HTML tag, such as `<tbody>`. Ignored if null.

  - ##### `Optional` tagEnd: string

    the ending of HTML tag, such as `</tbody>`; Ignored if null.

  #### Returns void

  #### See

  zAu#createWidgets

  Inherited from Widget.replaceCavedChildren_

### replaceChildHTML_

- replaceChildHTML_(child, n, desktop?, skipper?, _trim_?): void

- Replaces the DOM element(s) of the specified child widget. It is called by replaceHTML to give the parent a chance to do something special for particular child widgets.

  #### Parameters

  - ##### child: Widget<HTMLElement>

    the child widget whose DOM content is used to replace the DOM tree

  - ##### n: string | HTMLElement

    the DOM element to be replaced

  - ##### `Optional` desktop: Desktop

  - ##### `Optional` skipper: Skipper

    it is used only if it is called by rerender

  - ##### `Optional` _trim_: boolean

  #### Returns void

  Inherited from Widget.replaceChildHTML_

### replaceHTML

- replaceHTML(n, desktop?, skipper?, _trim_?, _callback_?): void

- Replaces the specified DOM element with the HTML content generated this widget. It is the same as `jq(n).replaceWith(wgt, desktop, skipper)`.

  The DOM element to be replaced can be Widget.$n or any independent DOM element. For example, you can replace a DIV element (and all its descendants) with this widget (and its descendants).

  This method is usually used to replace a DOM element with a root widget (though, with care, it is OK for non-root widgets). Non-root widgets usually use appendChild and insertBefore to attach to the DOM tree[1]

  If the DOM element doesn't exist, you can use jq.before or jq.after instead.

  Notice that, both replaceHTML fires the beforeSize and onSize watch events (refer to zWatch).

  If skipper is null. It implies the caller has to fire these two events if it specifies a skipper (that is how rerender is implemented).

  ### Subclass Note

  This method actually forwards the invocation to its parent by invoking parent's replaceChildHTML_ to really replace the DOM element. Thus, override replaceChildHTML_ if you want to do something special for particular child widgets.

  #### Parameters

  - ##### n: string | HTMLElement

    the DOM element (DOMElement) or anything Widget.$ allowed.

  - ##### `Optional` desktop: Desktop

    the desktop that this widget shall belong to. If omitted, it is retrieve from the current desktop. If null, it is decided automatically ( such as the current value of desktop or the first desktop)

  - ##### `Optional` skipper: Skipper

    it is used only if it is called by rerender

  - ##### `Optional` _trim_: boolean

  - ##### `Optional` _callback_: CallableFunction[]

  #### Returns void

  #### See

  - replaceWidget
  - JQuery.replaceWith

  Inherited from Widget.replaceHTML

### replaceWidget

- replaceWidget(newwgt, skipper?): void

- Replaces this widget with the specified one. The parent and siblings of this widget will become the parent and siblings of the specified one.

  Notice that replaceHTML is used to replace a DOM element that usually doesn't not belong to any widget. And, replaceWidget is used to replace the widget, and it maintains both the widget tree and the DOM tree.

  #### Parameters

  - ##### newwgt: Widget<HTMLElement>

    the new widget that will replace this widget.

  - ##### `Optional` skipper: Skipper

    the skipper used to skip a portion of DOM nodes.

  #### Returns void

  #### See

  replaceHTML

  #### Since

  5.0.1

  Inherited from Widget.replaceWidget

### rerender

- rerender(skipper?): this

- Re-renders the DOM element(s) of this widget. By re-rendering we mean to generate HTML again (redraw) and then replace the DOM elements with the new generated HTML code snippet.

  It is equivalent to replaceHTML(this.node, null, skipper).

  It is usually used to implement a setter of this widget. For example, if a setter (such as `setBorder`) has to modify the visual appearance, it can update the DOM tree directly, or it can call this method to re-render all DOM elements associated with is widget and its descendants.

  It is convenient to synchronize the widget's state with the DOM tree with this method. However, it shall be avoided if the HTML code snippet is complex (otherwise, the performance won't be good).

  If re-rendering is required, you can improve the performance by passing an instance of zk.Skipper that is used to re-render some or all descendant widgets of this widget.

  #### Parameters

  - ##### `Optional` skipper: Skipper

    skip some portion of this widget to speed up the re-rendering. If not specified, rerender(0) is assumed (since ZK 6).

  #### Returns this

  Inherited from Widget.rerender

- rerender(timeout?): this

- Re-renders after the specified time (milliseconds).

  Notice that, to have the best performance, we use the single timer to handle all pending rerenders for all widgets. In other words, if the previous timer is not expired (and called), the second call will reset the expiration time to the value given in the second call.

  #### Parameters

  - ##### `Optional` timeout: number

    the number milliseconds (non-negative) to wait before rerender. If negative, it means rerender shall take place immediately. If not specified, 0 is assumed (since ZK 6).

  #### Returns this

  #### Since

  5.0.4

  Inherited from Widget.rerender

### rerenderLater_

- rerenderLater_(skipper?): void

- A function that postpones the invoke of rerender function until all the cmds from server are processed. This avoids rerendering twice or more. It works only in the setAttrs phase, otherwise rerender will be invoked immediately.

  #### Parameters

  - ##### `Optional` skipper: Skipper

  #### Returns void

  #### Since

  8.6.0

  Inherited from Widget.rerenderLater_

### rerenderNow_

- rerenderNow_(skipper?): void

- Forces the delayed rerendering children or itself to do now.

  #### Parameters

  - ##### `Optional` skipper: Skipper

    used if rerender is called with a non-null skipper.

  #### Returns void

  #### Since

  7.0.2

  Inherited from Widget.rerenderNow_

### resetSize_

- resetSize_(orient): void

- #### Parameters

  - ##### orient: FlexOrient

  #### Returns void

  Inherited from Widget.resetSize_

### scrollIntoView

- scrollIntoView(): this

- Makes this widget visible in the browser window by scrolling ancestors up or down, if necessary.

  #### Returns this

  #### Default Value

      invoke zk(this).scrollIntoView();

  #### See

  zk.JQZK.scrollIntoView

  Inherited from Widget.scrollIntoView

### sendAU_

- sendAU_(evt, timeout): void

- Sends an AU request to the server. It is invoked when fire will send an AU request to the server.

  Override Notice: sendAU_ will call evt.target's beforeSendAU_ to give the original target a chance to process it.

  #### Parameters

  - ##### evt: Event<unknown>

    the event that will be sent to the server.

  - ##### timeout: number

    the delay before really sending out the AU request

  #### Returns void

  #### See

  - fire
  - beforeSendAU_
  - zAu#sendAhead

  #### Since

  5.0.1

  Inherited from Widget.sendAU_

### set

- set(name, value): Widget<HTMLElement>

- Sets a property. The property updates sent from the server, including renderProperties and smartUpdate, will invoke this method.

  ## Special Names

  ### `onXxx`

  If the name starts with `on`, it is assumed to be an event listener and setListener will be called.

  ### `$onXxx`

  If the name starts with `$on`, the value is assumed to be a boolean indicating if the server registers a listener.

  ### `$$onXxx`

  If the name starts with `$$on`, it indicates the event is an important event that the client must send it back to the server. In additions, the value is assumed to be a boolean indicating if the server registers a listener.

  ## Special Value

  ### `{$u: uuid}`

  If the value is in this format, it indicates `$u`'s value is UUID of a widget, and it will be resolved to a widget before calling the real method.

  However, since we cannot resolve a widget by its UUID until the widget is bound (to DOM). Thus, ZK sets property after mounted. For example, `wgt.set("radiogroup", {$u: uuid})` is equivalent to the following. ```js zk.afterMount(function () { wgt.set("radiogroup", zk.Widget.$(uuid)) }); ```

  #### Parameters

  - ##### name: string

    the name of property.

  - ##### value: string

    the value

  #### Returns Widget<HTMLElement>

  Inherited from Widget.set

- set(name, value, extra): Widget<HTMLElement>

- Sets a property. The property updates sent from the server, including renderProperties and smartUpdate, will invoke this method.

  #### Parameters

  - ##### name: string

    the name of property. Refer to (set:TWO_PARAMS) for special names.

  - ##### value: string

    the value

  - ##### extra: unknown

    the extra argument. It could be anything.

  #### Returns Widget<HTMLElement>

  Inherited from Widget.set

### setAction

- setAction(action?): this

- Sets the client-side action.

  #### Parameters

  - ##### `Optional` action: string

    the client-side action

  #### Returns this

  #### Default Value

  `null` (no CSA at all)

  The format:
  `action1: action-effect1; action2: action-effect2`

  Currently, only two actions are `show` and `hide`. They are called when the widget is becoming visible (show) and invisible (hide).

  The action effect (`action-effect1`) is the name of a method defined in zk.eff.Actions, such as `show: slideDown; hide: slideUp`

  #### Since

  5.0.6

  Inherited from Widget.setAction

### setChildren

- setChildren(children): this

- Appends an array of children. Notice this method does NOT remove any existent child widget.

  #### Parameters

  - ##### children: Widget<HTMLElement>[]

    an array of children (zk.Widget) to add

  #### Returns this

  Inherited from Widget.setChildren

### setConfig

- setConfig(config): this

- Sets the configuration, but notice that it can only be set in server code

  #### Parameters

  - ##### config: Options

  #### Returns this

### setContext

- setContext(context): this

- Sets the ID of the popup (zul.wgt.Popup) that should appear when the user right-clicks on the element (aka., context menu).

  #### Parameters

  - ##### context: string

    the ID of the popup widget.

  #### Returns this

  #### See

  setContext

  Inherited from Widget.setContext

- setContext(context): this

- Sets the ID of the popup (zul.wgt.Popup) that should appear when the user right-clicks on the element (aka., context menu).

  An onOpen event is sent to the context menu if it is going to appear. Therefore, developers can manipulate it dynamically (perhaps based on OpenEvent.getReference) by listening to the onOpen event.

  Note: To simplify the use, it not only searches its ID space, but also all ID spaces in the desktop. It first searches its own ID space, and then the other Id spaces in the same browser window (might have one or multiple desktops).

  If there are two components with the same ID (of course, in different ID spaces), you can specify the UUID with the following format:
  `uuid(comp_uuid)`

  Example:
  ```ts wgt.setContext('an_id'); wgt.setContext('uuid(an_uuid)'); wgt.setContext(a_wgt); ``` Both reference a component whose ID is "some". But, if there are several components with the same ID, the first one can reference to any of them. And, the second one reference to the component in the same ID space (of the label component).

  The context menu can be shown by a position from zul.wgt.Popup.open or the location of `x` and `y`, you can specify the following format:

  - `id, position`
  - `id, position=before_start`
  - `id, x=15, y=20`
  - `uuid(comp_uuid), position`
  - `uuid(comp_uuid), x=15, y=20`
  For example, ```ts wgt.setContext('an_id', 'start_before'); ``` Since 6.5.2, the context menu can also be shown on customized location of `x` and `y` by adding parentheses"()", for example, ```ts wgt.setContext('an_id', 'x=(zk.currentPointer[0] + 10), y=(zk.currentPointer[1] - 10)'); ```

  #### Parameters

  - ##### context: Popup

    the popup widget.

  #### Returns this

  Inherited from Widget.setContext

### setCssflex

- setCssflex(cssflex): this

- Sets whether to use css flex in this component or not.

  #### Parameters

  - ##### cssflex: boolean

    enable css flex or not

  #### Returns this

  #### Since

  9.0.0

  Inherited from Widget.setCssflex

### setCtrlKeys

- setCtrlKeys(ctrlKeys): this

- Sets what keystrokes to intercept.

  The string could be a combination of the following:

  ^k
    A control key, i.e., Ctrl+k, where k could be a~z, 0~9, #n
  @k
    A alt key, i.e., Alt+k, where k could be a~z, 0~9, #n
  $n
    A shift key, i.e., Shift+n, where n could be #n. Note: $a ~ $z are not supported.
  #home
    Home
  #end
    End
  #ins
    Insert
  #del
    Delete
  #bak
    Backspace
  #left
    Left arrow
  #right
    Right arrow
  #up
    Up arrow
  #down
    Down arrow
  #pgup
    PageUp
  #pgdn
    PageDn
  #f1 #f2 ... #f12
    Function keys representing F1, F2, ... F12

  For example,

  ^a^d@c#f10#left#right
    It means you want to intercept Ctrl+A, Ctrl+D, Alt+C, F10, Left and Right.
  ^#left
    It means Ctrl+Left.
  ^#f1
    It means Ctrl+F1.
  @#f3
    It means Alt+F3.

  #### Parameters

  - ##### ctrlKeys: string

  #### Returns this

  Inherited from Widget.setCtrlKeys

### setDomVisible_

- setDomVisible_(domVisible, visible, opts?): void

- Changes the visibility of a child DOM content of this widget. It is called by setVisible to really change the visibility of the associated DOM elements.

  #### Parameters

  - ##### domVisible: HTMLElement

  - ##### visible: boolean

    whether to make it visible

  - ##### `Optional` opts: DomVisibleOptions

    the options. If omitted, `{display:true}` is assumed. Allowed value:

    - display - Modify n.style.display
    - visibility - Modify n.style.visibility

  #### Returns void

  #### Default Value

      change n.style.display directly.

  Inherited from Widget.setDomVisible_

### setDraggable

- setDraggable(draggable?): this

- Sets the identifier of a draggable type for this widget.

  #### Parameters

  - ##### `Optional` draggable: string | boolean

    "false", "" or null to denote non-draggable; "true" for draggable with anonymous identifier; others for an identifier of draggable.

  #### Returns this

  #### Default Value

  `null`

  The simplest way to make a widget draggable is to set this property to "true". To disable it, set this to "false" (or null). If there are several types of draggable objects, you could assign an identifier for each type of draggable object. The identifier could be anything but empty and "false".

  Inherited from Widget.setDraggable

### setDroppable

- setDroppable(droppable?): this

- Sets the identifier, or a list of identifiers of a droppable type for this widget.

  #### Parameters

  - ##### `Optional` droppable: string | boolean

    `false`, `null` or `""` to denote not-droppable; `true` for accepting any draggable types; a list of identifiers, separated by comma for identifiers of draggables this widget accept (to be dropped in).

  #### Returns this

  #### Default Value

  `null`

  The simplest way to make a component droppable is to set this attribute to `true`. To disable it, set this to `false` (or `null`).

  If there are several types of draggable objects and this widget accepts only some of them, you could assign a list of identifiers that this widget accepts, separated by comma.

  For example, if this component accepts dg1 and dg2, then assign "dg1, dg2" to this attribute.

  Inherited from Widget.setDroppable

### setFlexSizeH_

- setFlexSizeH_(flexSizeH, zkn, height, isFlexMin?): void

- #### Parameters

  - ##### flexSizeH: HTMLElement

  - ##### zkn: JQZK

  - ##### height: number

  - ##### `Optional` isFlexMin: boolean

  #### Returns void

  Inherited from Widget.setFlexSizeH_

### setFlexSizeW_

- setFlexSizeW_(flexSizeW, zkn, width, isFlexMin?): void

- #### Parameters

  - ##### flexSizeW: HTMLElement

  - ##### zkn: JQZK

  - ##### width: number

  - ##### `Optional` isFlexMin: boolean

  #### Returns void

  Inherited from Widget.setFlexSizeW_

### setFloatZIndex_

- setFloatZIndex_(node, zi): void

- Sets the z-index for a floating widget. It is called by setTopmost to set the z-index, and called only if setFloating_ is ever called.

  #### Parameters

  - ##### node: HTMLElement

    the element whose z-index needs to be set. It is the value specified in `opts.node` when setFloating_ is called. If not specified, it is the same as Widget.$n.

  - ##### zi: number

    the z-index to set

  #### Returns void

  #### See

  setFloating_

  #### Since

  5.0.3

  Inherited from Widget.setFloatZIndex_

### setFloating_

- setFloating_(floating, opts?): void

- Sets a status to indicate if this widget is floating.

  Notice that it doesn't change the DOM tree. It is caller's job. In the other words, the caller have to adjust the style by assigning `position` with `absolute` or `relative`.

  #### Parameters

  - ##### floating: boolean

    whether to make it floating

  - ##### `Optional` opts: Partial<{
    node: HTMLElement;
    }>

    The options. Allowed options:

    - node: the DOM element. If omitted, Widget.$n is assumed.

  #### Returns void

  #### See

  isFloating_

  Inherited from Widget.setFloating_

### setFocus

- setFocus(focus): this

- Sets the focus on this widget.

  #### Parameters

  - ##### focus: boolean

    True to focus on this widget.

  #### Returns this

  #### Since

  10.0.0

  Inherited from Widget.setFocus

### setHeight

- setHeight(height?, opts?): this

- Sets the height of this widget.

  #### Parameters

  - ##### `Optional` height: string

    the height. Remember to specify 'px', 'pt' or '%'. An empty or null value means "auto"

  - ##### `Optional` opts: Record<string, boolean>

  #### Returns this

  Overrides Widget.setHeight

### setHflex

- setHflex(hflex?): this

- Sets horizontal flexibility hint of this widget.

  The parameter flex is a number in String type indicating how this widget's parent container distributes remaining empty space among its children widget horizontally. Flexible widget grow and shrink to fit their given space. Flexible widget with larger flex values will be made larger than widget with lower flex values, at the ratio determined by all flexible widgets. The actual flex value is not relevant unless there are other flexible widget within the same parent container. Once the default sizes of widget in a parent container are calculated, the remaining space in the parent container is divided among the flexible widgets, according to their flex ratios.

  Specify a flex value of negative value, 0, or "false" has the same effect as leaving this flex attribute out entirely. Specify a flex value of "true" has the same effect as a flex value of 1.

  Special flex hint, "min", indicates that the minimum space shall be given to this flexible widget to enclose all of its children widgets. That is, the flexible widget grow and shrink to fit its children widgets.

  #### Parameters

  - ##### `Optional` hflex: string | boolean

    the horizontal flex hint.

  #### Returns this

  #### See

  - setVflex
  - getHflex

  Inherited from Widget.setHflex

### setHflex_

- setHflex_(hflex?): void

- #### Parameters

  - ##### `Optional` hflex: string | boolean

  #### Returns void

  Inherited from Widget.setHflex_

### setId

- setId(id?): this

- Sets the identifier of this widget.

  #### Parameters

  - ##### `Optional` id: string

    the identifier to assigned to.

  #### Returns this

  Inherited from Widget.setId

### setLeft

- setLeft(left): this

- Sets the left of this widget.

  #### Parameters

  - ##### left: string

    the left. Remember to specify 'px', 'pt' or '%'. An empty or null value means "auto"

  #### Returns this

  Inherited from Widget.setLeft

### setListener

- setListener(listener): this

- Sets a listener that can be unlistened easily. It is designed to be called from server. For client-side programming, it is suggested to use listen.

  It is based listen, but, unlike listen, the second invocation for the same event will unlisten the previous one automatically.

  In additions, if the function (specified in the second element of inf) is null, it unlistens the previous invocation.

  #### Parameters

  - ##### listener: [string, unknown]

  #### Returns this

  #### See

  setListeners

  Inherited from Widget.setListener

- setListener(listener, fn): this

- Sets a listener It is designed to be called from server. For client-side programming, it is suggested to use listen. Use it only if you want to unlisten the listener registered at the server (by use of the client namespace).

  It is based listen, but, unlike listen, the second invocation for the same event will unlisten the previous one automatically.

  In additions, if fn is null, it unlistens the previous invocation.

  #### Parameters

  - ##### listener: string

  - ##### fn: unknown

    the listener function. If null, it means unlisten.

  #### Returns this

  #### See

  - setListeners
  - listen

  Inherited from Widget.setListener

### setListener0

- setListener0(listener0, fn): this

- #### Parameters

  - ##### listener0: string | [string, unknown]

  - ##### fn: unknown

  #### Returns this

  Inherited from Widget.setListener0

### setListeners

- setListeners(listeners): this

- Sets the listener a map of listeners. It is similar to listen, except

  - It will 'remember' what the listeners are, such that it can unlisten by specifying null as the value of the `infs` argument
  - The function can be a string and it will be converted to Function automatically.

  This method is mainly designed to be called by the application running at the server.

  Example: ```ts wgt.setListeners({ onChange: function (event) {this.doSomething();}, onFocus: 'this.doMore();', onBlur: null //unlisten }); ```

  #### Parameters

  - ##### listeners: Record<string, {
    priority: number;
    }[]>

  #### Returns this

  Inherited from Widget.setListeners

### setListeners0

- setListeners0(listeners0): this

- #### Parameters

  - ##### listeners0: Record<string, {
    priority: number;
    }[]>

  #### Returns this

  Inherited from Widget.setListeners0

### setMold

- setMold(mold): this

- Sets this widget's mold. A mold is a template to render a widget. In other words, a mold represents a visual presentation of a widget. Depending on implementation, a widget can have multiple molds.

  #### Parameters

  - ##### mold: string

    the mold

  #### Returns this

  #### Default Value

  `default`

  Inherited from Widget.setMold

### setOverride

- setOverride(override, val): this

- #### Parameters

  - ##### override: string | [string, unknown]

  - ##### val: unknown

  #### Returns this

  Inherited from Widget.setOverride

### setOverrides

- setOverrides(overrides): this

- #### Parameters

  - ##### overrides: Record<string, unknown>

  #### Returns this

  Inherited from Widget.setOverrides

### setPopup

- setPopup(popup): this

- Sets the ID of the popup (zul.wgt.Popup) that should appear when the user clicks on the element.

  #### Parameters

  - ##### popup: string

    the ID of the popup widget.

  #### Returns this

  #### See

  setPopup

  Inherited from Widget.setPopup

- setPopup(popup): this

- Sets the ID of the popup (zul.wgt.Popup) that should appear when the user clicks on the element.

  An onOpen event is sent to the popup menu if it is going to appear. Therefore, developers can manipulate it dynamically (perhaps based on OpenEvent.getReference) by listening to the onOpen event.

  Note: To simplify the use, it not only searches its ID space, but also all ID spaces in the desktop. It first searches its own ID space, and then the other Id spaces in the same browser window (might have one or multiple desktops).

  If there are two components with the same ID (of course, in different ID spaces), you can specify the UUID with the following format:
  `uuid(comp_uuid)`

  Example:
  ```ts wgt.setPopup('an_id'); wgt.setPopup('uuid(an_uuid)'); wgt.setPopup(a_wgt); ``` Both reference a component whose ID is "some". But, if there are several components with the same ID, the first one can reference to any of them. And, the second one reference to the component in the same ID space (of the label component).

  The popup menu can be shown by a position from zul.wgt.Popup.open or the location of `x` and `y`, you can specify the following format:

  - `id, position`
  - `id, position=before_start`
  - `id, x=15, y=20`
  - `uuid(comp_uuid), position`
  - `uuid(comp_uuid), x=15, y=20`
  For example, ```ts wgt.setPopup('an_id', 'start_before'); ``` Since 6.5.2, the popup can also be shown on customized location of `x` and `y` by adding parentheses"()", for example, ```ts wgt.setPopup('an_id', 'x=(zk.currentPointer[0] + 10), y=(zk.currentPointer[1] - 10)'); ```

  #### Parameters

  - ##### popup: Popup

    the popup widget.

  #### Returns this

  Inherited from Widget.setPopup

### setRenderdefer

- setRenderdefer(renderdefer): this

- Sets the number of milliseconds before rendering this component at the client.

  #### Parameters

  - ##### renderdefer: number

    time to wait in milliseconds before rendering. Notice: 0 also implies deferring the rendering (just right after all others are rendered).

  #### Returns this

  #### Default Value

  -1 (don't wait).

  This method is useful if you have a sophisticated page that takes long to render at a slow client. You can specify a non-negative value as the render-defer delay such that the other part of the UI can appear earlier. The styling of the render-deferred widget is controlled by a CSS class called `z-render-defer`.

  Notice that it has no effect if the component has been rendered at the client.

  #### Since

  5.0.2

  Inherited from Widget.setRenderdefer

### setSclass

- setSclass(sclass): this

- Sets the CSS class of this widget.

  #### Parameters

  - ##### sclass: string

    the style class

  #### Returns this

  #### Default Value

  `null`

  The default styles of ZK components doesn't depend on sclass at all. Rather, setSclass is provided to perform small adjustment, e.g., changing only the font size. In other words, the default style is still applied if you change sclass.

  To replace the default style completely, use setZclass instead.

  The real CSS class is a concatenation of getZclass and getSclass.

  #### See

  - getSclass
  - setZclass
  - setStyle

  Inherited from Widget.setSclass

### setScrollLeft

- setScrollLeft(scrollLeft): this

- Sets the scroll left of the associated DOM element of this widget. This method does nothing if this widget is not bound to a DOM element yet.

  #### Parameters

  - ##### scrollLeft: number

  #### Returns this

  Inherited from Widget.setScrollLeft

### setScrollTop

- setScrollTop(scrollTop): this

- Sets the scroll top of the associated DOM element of this widget. This method does nothing if this widget is not bound to a DOM element yet.

  #### Parameters

  - ##### scrollTop: number

  #### Returns this

  Inherited from Widget.setScrollTop

### setStyle

- setStyle(style): this

- Sets the CSS style of this widget.

  #### Parameters

  - ##### style: string

    the CSS style

  #### Returns this

  #### Default Value

  `null`

  #### See

  - getStyle
  - setSclass
  - setZclass

  Inherited from Widget.setStyle

### setTabindex

- setTabindex(tabindex): this

- Sets the tab order of this component.

  #### Parameters

  - ##### tabindex: number

  #### Returns this

  #### Since

  8.0.2

  Inherited from Widget.setTabindex

### setTooltip

- setTooltip(tooltip): this

- Sets the ID of the popup (zul.wgt.Popup) that should be used as a tooltip window when the mouse hovers over the element for a moment.

  #### Parameters

  - ##### tooltip: string

    the ID of the popup widget.

  #### Returns this

  #### See

  setPopup

  Inherited from Widget.setTooltip

- setTooltip(tooltip): this

- Sets the ID of the popup (zul.wgt.Popup) that should be used as a tooltip window when the mouse hovers over the element for a moment.

  An onOpen event is sent to the tooltip if it is going to appear. Therefore, developers can manipulate it dynamically (perhaps based on OpenEvent.getReference) by listening to the onOpen event.

  Note: To simplify the use, it not only searches its ID space, but also all ID spaces in the desktop. It first searches its own ID space, and then the other Id spaces in the same browser window (might have one or multiple desktops).

  If there are two components with the same ID (of course, in different ID spaces), you can specify the UUID with the following format:
  `uuid(comp_uuid)`

  Example:
  ```ts wgt.setTooltip('an_id'); wgt.setTooltip('uuid(an_uuid)'); wgt.setTooltip(a_wgt); ``` Both reference a component whose ID is "some". But, if there are several components with the same ID, the first one can reference to any of them. And, the second one reference to the component in the same ID space (of the label component).

  The tooltip can be shown by a position from zul.wgt.Popup.open or the location of `x` and `y`, and can be specified with a delay time (in millisecond), you can specify the following format:

  - `id, position`
  - `id, position=before_start, delay=500`
  - `id, x=15, y=20`
  - `uuid(comp_uuid), position`
  - `uuid(comp_uuid), x=15, y=20`
  For example, ```ts wgt.setTooltip('an_id', 'start_before'); ``` Since 6.5.2, the tooltip can also be shown on customized location of `x` and `y` by adding parentheses"()", for example, ```ts wgt.setPopup('an_id', 'x=(zk.currentPointer[0] + 10), y=(zk.currentPointer[1] - 10)'); ```

  #### Parameters

  - ##### tooltip: Popup

  #### Returns this

  Inherited from Widget.setTooltip

### setTooltiptext

- setTooltiptext(tooltiptext): this

- Sets the tooltip text of this widget.

  #### Parameters

  - ##### tooltiptext: string

  #### Returns this

  #### Default Value

      implementation of setTooltiptext: update the title attribute of {@link Widget.$n}

  Inherited from Widget.setTooltiptext

### setTop

- setTop(top): this

- Sets the top of this widget. If you want to specify `bottom`, use setStyle instead. For example, `setStyle("bottom: 0px");`

  #### Parameters

  - ##### top: string

    the top. Remember to specify 'px', 'pt' or '%'. An empty or null value means "auto"

  #### Returns this

  Inherited from Widget.setTop

### setTopmost

- setTopmost(): number

- Makes this widget as topmost.

  If this widget is not floating, this method will look for its ancestors for the first ancestor who is floating. In other words, this method makes the floating containing this widget as topmost. To make a widget floating, use setFloating_.

  This method has no effect if it is not bound to the DOM tree, or none of the widget and its ancestors is floating.

  Notice that it does not fire onFloatUp so it is caller's job if it is necessary to close other popups.

  #### Returns number

  the new value of z-index of the topmost floating window, -1 if this widget and none of its ancestors is floating or not bound to the DOM tree.

  #### See

  setFloating_

  Inherited from Widget.setTopmost

### setValue

- setValue(value, opts?): this

- Sets the editor's content, and one can specify html tags to decorate the content

  #### Parameters

  - ##### value: string

  - ##### `Optional` opts: Record<string, boolean>

  #### Returns this

### setVflex

- setVflex(vflex?): this

- Sets vertical flexibility hint of this widget.

  The parameter flex is a number in String type indicating how this widget's parent container distributes remaining empty space among its children widget vertically. Flexible widget grow and shrink to fit their given space. Flexible widget with larger flex values will be made larger than widget with lower flex values, at the ratio determined by all flexible widgets. The actual flex value is not relevant unless there are other flexible widget within the same parent container. Once the default sizes of widget in a parent container are calculated, the remaining space in the parent container is divided among the flexible widgets, according to their flex ratios.

  Specify a flex value of negative value, 0, or "false" has the same effect as leaving the flex attribute out entirely. Specify a flex value of "true" has the same effect as a flex value of 1.

  Special flex hint, "min", indicates that the minimum space shall be given to this flexible widget to enclose all of its children widgets. That is, the flexible widget grow and shrink to fit its children widgets.

  #### Parameters

  - ##### `Optional` vflex: string | boolean

    the vertical flex hint.

  #### Returns this

  #### See

  - setHflex
  - getVflex

  Inherited from Widget.setVflex

### setVflex_

- setVflex_(vflex?): void

- #### Parameters

  - ##### `Optional` vflex: string | boolean

  #### Returns void

  Inherited from Widget.setVflex_

### setVisible

- setVisible(visible): this

- Sets whether this widget is visible.

  ### Subclass Notes

  - setVisible invokes the parent's onChildVisible_, so you can override onChildVisible_ to change the related DOM element. For example, updating the additional enclosing tags (such as zul.box.Box).
  - setVisible invokes setDomVisible_ to change the visibility of a child DOM element, so override it if necessary.

  #### Parameters

  - ##### visible: boolean

    whether to be visible

  #### Returns this

  Inherited from Widget.setVisible

### setWidth

- setWidth(width?, opts?): this

- Sets the width of this widget.

  #### Parameters

  - ##### `Optional` width: string

    the width. Remember to specify 'px', 'pt' or '%'. An empty or null value means "auto"

  - ##### `Optional` opts: Record<string, boolean>

  #### Returns this

  Overrides Widget.setWidth

### setZIndex

- setZIndex(zIndex, opts): this

- Sets the Z index.

  #### Parameters

  - ##### zIndex: string | number

    the Z index to assign to

  - ##### opts: Partial<{
    fire: boolean;
    floatZIndex: boolean;
    }>

    if opts.fire is specified the onZIndex event will be triggered. If opts.floatZIndex is false, represent it is not from setFloatZIndex, so the userZIndex may be true.

  #### Returns this

  Inherited from Widget.setZIndex

### setZclass

- setZclass(zclass): this

- Sets the ZK Cascading Style class(es) for this widget. It is the CSS class used to implement a mold of this widget. n implementation It usually depends on the implementation of the mold (getMold).

  #### Parameters

  - ##### zclass: string

    the style class used to apply the whole widget.

  #### Returns this

  #### Default Value

  `null` but an implementation usually provides a default class, such as z-button.

  Calling setZclass with a different value will completely replace the default style of a widget. Once you change it, all default styles are gone. If you want to perform small adjustments, use setSclass instead.

  The real CSS class is a concatenation of getZclass and getSclass.

  #### See

  - getZclass
  - setSclass
  - setStyle

  Inherited from Widget.setZclass

### setZindex

- setZindex(zindex, opts): this

- #### Parameters

  - ##### zindex: number

  - ##### opts: Partial<{
    fire: boolean;
    floatZIndex: boolean;
    }>

  #### Returns this

  Inherited from Widget.setZindex

### shallChildROD_

- shallChildROD_(child): boolean

- #### Parameters

  - ##### child: Widget<HTMLElement>

  #### Returns boolean

  whether a new child shall be ROD.

  #### Default Value

      return true if child.z_rod or this.z_rod

  #### Since

  5.0.1

  Inherited from Widget.shallChildROD_

### shallFireSizedLaterWhenAddChd_

- shallFireSizedLaterWhenAddChd_(): boolean

- #### Returns boolean

  whether a widget should fireSized later when addChd was invoked

  #### Default Value

  `false`.

  Inherited from Widget.shallFireSizedLaterWhenAddChd_

### shallIgnoreClick_

- shallIgnoreClick_(evt): boolean

- Check whether to ignore the click which might be caused by doClick_ doRightClick_, or doDoubleClick_.

  #### Parameters

  - ##### evt: Event<unknown>

  #### Returns boolean

  whether to ignore it

  #### Default Value

      return false.
      <p>Deriving class might override this method to return true if
      it wants to ignore the click on certain DOM elements, such as
      the open icon of a treerow.
      <p>Notice: if true is returned, {@link doClick_}
      {@link doRightClick_}, and {@link doDoubleClick_} won't be called.
      In additions, the popup and context of {@link zul.Widget} won't be
      handled, either.

  #### Since

  5.0.1

  Inherited from Widget.shallIgnoreClick_

### show

- show(): this

- Makes this widget visible. It is a shortcut of `setVisible(true)`

  #### Returns this

  Inherited from Widget.show

### smartUpdate

- smartUpdate(name, value, timeout?): void

- Smart-updates a property of the peer component associated with this widget, running at the server, with the specified value.

  It is actually fired an AU request named `setAttr`, and it is handled by the `updateByClient` method in `org.zkoss.zk.ui.AbstractComponent` (at the server).

  By default, it is controlled by a component attribute called `org.zkoss.zk.ui.updateByClient`. And, it is default to false. Thus, the component developer has to override `updateByClient` at the server (in Java) and then update it rather than calling back superclass. For example, ```ts void updateByClient(String name, Object value) { if ("disabled".equals(name)) setDisabled(value instanceof Boolean && ((Boolean)value).booleanValue()); else super.updateByClient(name, value); } ```

  #### Parameters

  - ##### name: string

    the property name

  - ##### value: unknown

    the property value

  - ##### `Optional` timeout: number

    the delay before sending out the AU request. It is optional. If omitted, -1 is assumed (i.e., it will be sent with next non-deferrable request).

  #### Returns void

  #### See

  zAu.send

  Inherited from Widget.smartUpdate

### toJSON

- toJSON(): string

- #### Returns string

  Inherited from Widget.toJSON

### triggerAfterHostChildAdded_

- triggerAfterHostChildAdded_(child): void

- A callback called after a child has been added to this widget for shadow host.

  #### Parameters

  - ##### child: Widget<HTMLElement>

    the child being added

  #### Returns void

  #### Since

  10.0.0

  Inherited from Widget.triggerAfterHostChildAdded_

### triggerAfterHostChildRemoved_

- triggerAfterHostChildRemoved_(child): void

- A callback called after a child has been removed to this widget for shadow host.

  #### Parameters

  - ##### child: Widget<HTMLElement>

    the child being removed

  #### Returns void

  #### Since

  10.0.0

  Inherited from Widget.triggerAfterHostChildRemoved_

### triggerBeforeHostChildAdded_

- triggerBeforeHostChildAdded_(child, insertBefore?): void

- Called before adding a child for shadow host.

  #### Parameters

  - ##### child: Widget<HTMLElement>

  - ##### `Optional` insertBefore: Widget<HTMLElement>

  #### Returns void

  #### Since

  10.0.0

  Inherited from Widget.triggerBeforeHostChildAdded_

### triggerBeforeHostChildRemoved_

- triggerBeforeHostChildRemoved_(child): void

- A callback called before removing a child for shadow host.

  #### Parameters

  - ##### child: Widget<HTMLElement>

    the child being removed.

  #### Returns void

  #### Since

  10.0.0

  Inherited from Widget.triggerBeforeHostChildRemoved_

### triggerBeforeHostParentChanged_

- triggerBeforeHostParentChanged_(newparent?): void

- A callback called before the parent is changed for shadow host.

  #### Parameters

  - ##### `Optional` newparent: Widget<HTMLElement>

    the new parent (null if it is removed) The previous parent can be found by parent.

  #### Returns void

  #### Since

  10.0.0

  Inherited from Widget.triggerBeforeHostParentChanged_

### unbind

- unbind(skipper?, keepRod?): this

- Unbinds this widget. It is called to remove the association (aka., detach) the widget from the DOM tree.

  Notice that you rarely need to invoke this method, since it is called automatically (such as replaceHTML).

  Notice that you rarely need to override this method, either. Rather, override unbind_ instead.

  #### Parameters

  - ##### `Optional` skipper: Skipper

    used if rerender is called with a non-null skipper.

  - ##### `Optional` keepRod: boolean

    used if the ROD flag needs to be kept.

  #### Returns this

  #### See

  - unbind_
  - bind

  Inherited from Widget.unbind

### unbindChildren_

- unbindChildren_(skipper?, after?, keepRod?): void

- Unbinds the children of this widget. It is called by unbind_ to invoke child's unbind_ one-by-one.

  #### Parameters

  - ##### `Optional` skipper: Skipper

    used if rerender is called with a non-null skipper

  - ##### `Optional` after: CallableFunction[]

    an array of function (Function)that will be invoked after unbind_ has been called. For example,

  - ##### `Optional` keepRod: boolean

    used if the ROD flag needs to be kept.

  #### Returns void

  #### Since

  5.0.5

  Inherited from Widget.unbindChildren_

### unbindDoubleTap_

- unbindDoubleTap_(): void

- Unbind double click event to the widget on tablet device. It is called if the widget is listen to onDoubleClick event.

  You rarely need to override this method, unless you want to implement double click behavior differently.

  #### Returns void

  #### See

  doDoubleClick_

  #### Since

  6.5.0

  Inherited from Widget.unbindDoubleTap_

### unbindRod_

- unbindRod_(): void

- Unbinds when in rod mode. (internal use for callback)

  #### Returns void

  #### Since

  10.0.0

  Inherited from Widget.unbindRod_

### unbindSwipe_

- unbindSwipe_(): void

- Unbind swipe event to the widget on tablet device. It is called if swipe event is unbound.

  You rarely need to override this method, unless you want to unbind swipe event differently.

  #### Returns void

  #### See

  doSwipe_

  #### Since

  6.5.0

  Inherited from Widget.unbindSwipe_

### unbindTapHold_

- unbindTapHold_(): void

- Unbind right click event to the widget on tablet device. It is called if the widget is listen to onRightClick event.

  You rarely need to override this method, unless you want to implement right click behavior differently.

  #### Returns void

  #### See

  doRightClick_

  #### Since

  6.5.1

  Inherited from Widget.unbindTapHold_

### uncloneDrag_

- uncloneDrag_(drag): void

- Undo the visual effect created by cloneDrag_.

  #### Parameters

  - ##### drag: Draggable

    the draggable controller

  #### Returns void

  Inherited from Widget.uncloneDrag_

### unlisten

- unlisten(infos): this

- Removes a listener from the specified event.

      wgt.unlisten({
        onClick: wgt,
        onOpen: wgt._onOpen,
        onMove: [o, o._onMove]
      });

  #### Parameters

  - ##### infos: Record<string, unknown>

    a map of event listeners. Each key is the event name, and each value can be the target, the listener function, or a two-element array, where the first element is the target and the second the listener function.

  #### Returns this

  #### See

  - listen
  - isListen
  - fire
  - fireX

  Inherited from Widget.unlisten

### unlistenOnFitSize_

- unlistenOnFitSize_(): void

- Unlistens to onFitSize event. Override if a subclass wants to skip listening or have extra processing.

  #### Returns void

  #### See

  listenOnFitSize_

  #### Since

  5.0.8

  Inherited from Widget.unlistenOnFitSize_

### updateDomClass_

- updateDomClass_(): void

- Updates the DOM element's CSS class. It is called when the CSS class is changed (e.g., setZclass is called).

  #### Returns void

  #### Default Value

      it changes the class of {@link Widget.$n}.
      <h3>Subclass Note</h3>
      <ul>
      <li>Override it if the class has to be copied to DOM elements other than {@link Widget.$n}.</li>
      </ul>

  #### See

  updateDomStyle_

  Inherited from Widget.updateDomClass_

### updateDomStyle_

- updateDomStyle_(): void

- Updates the DOM element's style. It is called when the CSS style is changed (e.g., setStyle is called).

  #### Returns void

  #### Default Value

      it changes the CSS style of {@link Widget.$n}.
      <h3>Subclass Note</h3>
      <ul>
      <li>Override it if the CSS style has to be copied to DOM elements other than {@link Widget.$n}.</li>
      </ul>

  Inherited from Widget.updateDomStyle_

### zsync

- zsync(opts?): void

- Synchronizes a map of objects that are associated with this widget, and they shall be resized when the size of this widget is changed.

  It is useful to sync the layout, such as shadow, mask and error message, that is tightly associated with a widget.

  #### Parameters

  - ##### `Optional` opts: ZKObject

    the options, or undefined if none of them specified. Allowed values:

  #### Returns void

  Inherited from Widget.zsync

### `Static` $

- $<T>(n?, opts?): undefined | T

- Retrieves the widget.

  #### Type Parameters

  - #### T extends Widget<HTMLElement>

  #### Parameters

  - ##### `Optional` n: null | string | Node | JQuery<HTMLElement> | Event | Event<unknown> | T

    the object to look for. If it is a string, it is assumed to be UUID, unless it starts with '$'. For example, `zk.Widget.$('uuid')` is the same as `zk.Widget.$('#uuid')`, and both look for a widget whose ID is 'uuid'. On the other hand, `zk.Widget.$('$id')` looks for a widget whose ID is 'id'.
    and `zk.Widget.$('.className')` looks for a widget whose CSS selector is 'className'. (since zk 8.0)
    If it is an DOM element (DOMElement), it will look up which widget it belongs to.
    If the object is not a DOM element and has a property called `target`, then `target` is assumed. Thus, you can pass an instance of jq.Event or zk.Event, and the target widget will be returned.

  - ##### `Optional` opts: Partial<{
    child: boolean;
    exact: boolean;
    strict: boolean;
    }>

    the options. Allowed values:

    - exact - id must exactly match uuid (i.e., uuid-xx ignored). It also implies strict (since 5.0.2)
    - strict - whether not to look up the parent node.(since 5.0.2) If omitted, false is assumed (and it will look up parent).
    - child - whether to ensure the given element is a child element of the widget's main element (Widget.$n). In most cases, if ID of an element is xxx-yyy, the the element must be a child of the element whose ID is xxx. However, there is some exception such as the shadow of a window.

  #### Returns undefined | T

  Inherited from Widget.$

### `Static` disableChildCallback

- disableChildCallback(): void

- #### Returns void

  Inherited from Widget.disableChildCallback

### `Static` enableChildCallback

- enableChildCallback(): void

- #### Returns void

  Inherited from Widget.enableChildCallback

### `Static` getClass

- getClass(wgtnm): typeof Widget

- #### Parameters

  - ##### wgtnm: string

    the widget name, such as textbox.

  #### Returns typeof Widget

  the class of the specified widget's name. For example,

      zk.Widget.getClass('combobox');

  Notice that null is returned if the widget is not loaded (or not exist) yet.

  #### See

  - newInstance
  - register

  Inherited from Widget.getClass

### `Static` getElementsById

- getElementsById(id): HTMLElement[]

- #### Parameters

  - ##### id: string

    the id of a widget, id.

  #### Returns HTMLElement[]

  all DOMElement with the given ID.

  #### Since

  5.0.2

  Inherited from Widget.getElementsById

### `Static` getElementsByName

- getElementsByName(name): HTMLElement[]

- #### Parameters

  - ##### name: string

    the widget name widgetName.

  #### Returns HTMLElement[]

  all DOMElement with the given widget name.

  #### Since

  5.0.2

  Inherited from Widget.getElementsByName

### `Static` getOpenTooltip

- getOpenTooltip(): undefined | Popup

- #### Returns undefined | Popup

  the tooltip that is opened, or null if no tooltip is opened.

  #### Since

  5.0.5

  Inherited from Widget.getOpenTooltip

### `Static` getWidgetByUuid

- getWidgetByUuid(uuid): Widget<HTMLElement>

- #### Parameters

  - ##### uuid: string

    the uuid of a widget.

  #### Returns Widget<HTMLElement>

  the zk.Widget with the given Uuid.

  #### Since

  10.0.0

  Inherited from Widget.getWidgetByUuid

### `Static` isAssignableFrom

- isAssignableFrom(cls): boolean

- Determines if the class by this Class object is either the same as, or is a superclass of, the class represented by the specified Class parameter. Example:

      if (klass1.isAssignableFrom(klass2)) {
      }

  #### Parameters

  - ##### cls: typeof ZKObject

    the Class object to be checked, such as zk.Widget.

  #### Returns boolean

  true if assignable

  Inherited from Widget.isAssignableFrom

### `Static` isAutoId

- isAutoId(id): boolean

- #### Parameters

  - ##### id: string

  #### Returns boolean

  #### Deprecated

  we cannot really detect at the client if UUID is generated automatically.

  Inherited from Widget.isAutoId

### `Static` isInstance

- isInstance<T>(this, o): o is InstanceType<T>

- Determines if the specified Object is assignment-compatible with this Class. This method is equivalent to [[zk.Object#$instanceof]. Example:

      if (klass.isInstance(obj)) {
      }

  #### Type Parameters

  - #### T extends typeof ZKObject

  #### Parameters

  - ##### this: T

  - ##### o: unknown

    the object to check

  #### Returns o is InstanceType<T>

  true if the object is an instance

  Inherited from Widget.isInstance

### `Static` newInstance

- newInstance<T>(wgtnm, props?): InstanceType<T>

- Creates a widget by specifying the widget name. The widget name is the last part of the class name of a widget (and converting the first letter to lower case). For example, if a widget's class name is zul.inp.Textbox, then the widget name is textbox.

  This method is usually used by tools, such as zk.zuml.Parser, rather than developers, since developers can create the widget directly if he knows the class name.

  #### Type Parameters

  - #### T extends typeof Widget

  #### Parameters

  - ##### wgtnm: string

    the widget name, such as textbox.

  - ##### `Optional` props: Record<string, unknown>

    the properties that will be passed to Widget.$init.

  #### Returns InstanceType<T>

  #### See

  - getClass
  - register

  Inherited from Widget.newInstance

### `Static` nextUuid

- nextUuid(): string

- #### Returns string

  the next unique UUID for a widget. The UUID is unique in the whole browser window and does not conflict with the peer component's UUID.

  This method is called automatically if Widget.$init is called without uuid.

  Inherited from Widget.nextUuid

### `Static` register

- register(clsnm, blankprev): void

- Registers a widget class. It is called automatically if the widget is loaded by WPD loader, so you rarely need to invoke this method. However, if you create a widget class at run time, you have to call this method explicitly. Otherwise, className, getClass, and newInstance won't be applicable.

  Notice that the class must be declared before calling this method. In other words, zk.$import(clsnm) must return the class of the specified class name. ```ts zk.Widget.register('foo.Cool'); //class name zk.Widget.getClass('cool'); //widget name ```

  #### Parameters

  - ##### clsnm: string

    the class name, such as zul.wnd.Window

  - ##### blankprev: boolean

  #### Returns void

  Inherited from Widget.register

### `Static` uuid

- uuid(id): string

- Converts an ID of a DOM element to UUID. It actually removes '-*'. For example, zk.Widget.uuid('z_aa-box') returns 'z_aa'.

  #### Parameters

  - ##### id: string | HTMLElement

  #### Returns string

  the uuid of the widget (notice that the widget might not exist)

  Inherited from Widget.uuid