# web.layout.element 库模块帮助文档

## 全局对象 成员列表 <a id="global" href="#global">&#x23;</a>

### layoutEle2 <a id="layoutEle2" href="#layoutEle2">&#x23;</a>
[返回对象:layoutEleObject](#layoutEleObject)

### ltEle2 <a id="ltEle2" href="#ltEle2">&#x23;</a>
[返回对象:layoutEleObject](#layoutEleObject)

### ltOption <a id="ltOption" href="#ltOption">&#x23;</a>
HTMLayout节点对象,  
lt前缀变量为HTMLayout保留,请勿用于表示其他类型对象  

[返回对象:layoutEleObject](#layoutEleObject)

### ltPopupOwner <a id="ltPopupOwner" href="#ltPopupOwner">&#x23;</a>
HTMLayout节点对象,  
lt前缀变量为HTMLayout保留,请勿用于表示其他类型对象  

[返回对象:layoutEleObject](#layoutEleObject)

### ltTarget <a id="ltTarget" href="#ltTarget">&#x23;</a>
HTMLayout节点对象,  
在事件函数中,ltTarget一般表示触发事件的目标节点,  
lt前缀变量为HTMLayout保留,请勿用于表示其他类型对象  

[返回对象:layoutEleObject](#layoutEleObject)

## layoutEle 成员列表 <a id="layoutEle" href="#layoutEle">&#x23;</a>

HTMLayout节点对象保留变量名,  
请勿用于表示其他类型对象  

[返回对象:layoutEleObject](#layoutEleObject)

## layoutEleObject 成员列表 <a id="layoutEleObject" href="#layoutEleObject">&#x23;</a>

### layoutEleObject.$("标签名[属性名='属性值']") <a id="layoutEleObject.$" href="#layoutEleObject.$">&#x23;</a>
使用CSS选择器语法,查找符合条件的所有子节点

### layoutEleObject.$() <a id="layoutEleObject.$" href="#layoutEleObject.$">&#x23;</a>
[返回对象:layoutEleObject](#layoutEleObject)

### layoutEleObject.$1("标签名[属性名='属性值']") <a id="layoutEleObject.$1" href="#layoutEleObject.$1">&#x23;</a>
使用CSS选择器语法,查找符合条件的第一个子节点

### layoutEleObject.$1() <a id="layoutEleObject.$1" href="#layoutEleObject.$1">&#x23;</a>
[返回对象:layoutEleObject](#layoutEleObject)

### layoutEleObject.$1p("标签名[属性名='属性值']") <a id="layoutEleObject.$1p" href="#layoutEleObject.$1p">&#x23;</a>
使用CSS选择器语法,查找符合条件最近的父节点,  
注意与CSS脚本不同,该函数测试自身

### layoutEleObject.$1p() <a id="layoutEleObject.$1p" href="#layoutEleObject.$1p">&#x23;</a>
[返回对象:layoutEleObject](#layoutEleObject)

### layoutEleObject.$p("标签名[属性名='属性值']") <a id="layoutEleObject.$p" href="#layoutEleObject.$p">&#x23;</a>
使用CSS选择器语法,查找符合条件的所有父节点,  
注意与CSS脚本不同,该函数测试自身

### layoutEleObject.$p() <a id="layoutEleObject.$p" href="#layoutEleObject.$p">&#x23;</a>
[返回对象:layoutEleObject](#layoutEleObject)

### layoutEleObject.adjustCtrl(cx,cy,wParam) <a id="layoutEleObject.adjustCtrl" href="#layoutEleObject.adjustCtrl">&#x23;</a>
调整控件使适合指定大小,参数可以省略

### layoutEleObject.animate(动画回调函数,延时毫秒) <a id="layoutEleObject.animate" href="#layoutEleObject.animate">&#x23;</a>

```aardio
layoutEleObject.animate(   
	function(ltEle,step){  
		if( step == 0xffffffff )return 0;   

		return /*新的延时值,返回0停止*/;  
	}  
)
```

### layoutEleObject.append(节点) <a id="layoutEleObject.append" href="#layoutEleObject.append">&#x23;</a>
追加到最后一个子节点

### layoutEleObject.attachEventHandler(eventHandler,subscription) <a id="layoutEleObject.attachEventHandler" href="#layoutEleObject.attachEventHandler">&#x23;</a>
添加事件监听对象,  
参数一指定响应事件的对象,如果不指定则为当前节点对象,  
subscription 可选使用 _HL_HANDLE_ 前缀常量指定捕获的事件,  
 如果不指定该参数,则根据预听义的监听函数自动设定该值,  
也可以使用对象的 _event_subsriptions 成员指定该值,  
该函数返回事件ID,用于注销监听.

### layoutEleObject.capture <a id="layoutEleObject.capture" href="#layoutEleObject.capture">&#x23;</a>
设为true开始捕获鼠标消息,设为false取消捕获

### layoutEleObject.child() <a id="layoutEleObject.child" href="#layoutEleObject.child">&#x23;</a>
[返回对象:layoutEleObject](#layoutEleObject)

### layoutEleObject.child(1索引) <a id="layoutEleObject.child" href="#layoutEleObject.child">&#x23;</a>
获取子节点  
第一个子节点的索引为1

### layoutEleObject.childCount() <a id="layoutEleObject.childCount" href="#layoutEleObject.childCount">&#x23;</a>
获取子节点数目  

[返回对象:layoutEleObject](#layoutEleObject)

### layoutEleObject.clearAttributes() <a id="layoutEleObject.clearAttributes" href="#layoutEleObject.clearAttributes">&#x23;</a>
清空所有属性

### layoutEleObject.click() <a id="layoutEleObject.click" href="#layoutEleObject.click">&#x23;</a>
触发 onButtonClick 事件,  
支持按钮节点、或者样式中指定behavior:~clickable的节点  
触发非clickable的onMouseClick事件请使用traverseMouse函数

### layoutEleObject.clone() <a id="layoutEleObject.clone" href="#layoutEleObject.clone">&#x23;</a>
[返回对象:layoutEleObject](#layoutEleObject)

### layoutEleObject.clone(索引) <a id="layoutEleObject.clone" href="#layoutEleObject.clone">&#x23;</a>
复制节点,必须添加为其他节点的子节点才能使用.  
可选指定一个位置参数以添加到复制源节点的父节点,  
-1表示追加到兄弟节点尾部  

[返回对象:layoutEleObject](#layoutEleObject)

### layoutEleObject.cls <a id="layoutEleObject.cls" href="#layoutEleObject.cls">&#x23;</a>
自定义控件类名

### layoutEleObject.combineUrl(URL) <a id="layoutEleObject.combineUrl" href="#layoutEleObject.combineUrl">&#x23;</a>
将相对路径转换为绝对路径

### layoutEleObject.createElement() <a id="layoutEleObject.createElement" href="#layoutEleObject.createElement">&#x23;</a>
[返回对象:layoutEleObject](#layoutEleObject)

### layoutEleObject.createElement(标签名,节点内容,插入位置) <a id="layoutEleObject.createElement" href="#layoutEleObject.createElement">&#x23;</a>
创建节点,  
节点内容可省略,  
插入位置可省回,默认为-1表示追到子节点尾部

### layoutEleObject.createKeyEvent() <a id="layoutEleObject.createKeyEvent" href="#layoutEleObject.createKeyEvent">&#x23;</a>
[返回对象:hlKeyParamsObject](#hlKeyParamsObject)

### layoutEleObject.createKeyEvent(虚拟键码,ltTarget) <a id="layoutEleObject.createKeyEvent" href="#layoutEleObject.createKeyEvent">&#x23;</a>
创建键盘事件,参数2可选

### layoutEleObject.createMouseEvent() <a id="layoutEleObject.createMouseEvent" href="#layoutEleObject.createMouseEvent">&#x23;</a>
[返回对象:hlMouseParamsObject](#hlMouseParamsObject)

### layoutEleObject.createMouseEvent(x,y,ltTarget) <a id="layoutEleObject.createMouseEvent" href="#layoutEleObject.createMouseEvent">&#x23;</a>
创建鼠标事件,所有参数可选

### layoutEleObject.delayMeasure() <a id="layoutEleObject.delayMeasure" href="#layoutEleObject.delayMeasure">&#x23;</a>
延迟更新布局,用于拖动时优化性能

### layoutEleObject.delete() <a id="layoutEleObject.delete" href="#layoutEleObject.delete">&#x23;</a>
删除节点对象  
成功返回true

### layoutEleObject.detach() <a id="layoutEleObject.detach" href="#layoutEleObject.detach">&#x23;</a>
自DOM树中分离该节点  
当引用计数清零时自动删除

### layoutEleObject.detachEventHandler(事件ID) <a id="layoutEleObject.detachEventHandler" href="#layoutEleObject.detachEventHandler">&#x23;</a>
注销事件监听对象,省略参数则停止节点自身事件监听

### layoutEleObject.documentElement <a id="layoutEleObject.documentElement" href="#layoutEleObject.documentElement">&#x23;</a>
当前当前文档HTML根节点  

[返回对象:layoutEleObject](#layoutEleObject)

### layoutEleObject.eachAttribute() <a id="layoutEleObject.eachAttribute" href="#layoutEleObject.eachAttribute">&#x23;</a>

```aardio
for( i,name,value in layoutEleObject.eachAttribute() ){

}
```

### layoutEleObject.eachChild() <a id="layoutEleObject.eachChild" href="#layoutEleObject.eachChild">&#x23;</a>
[返回对象:layoutEleObject](#layoutEleObject)

### layoutEleObject.eachChild(开始索引,结束索引,步进) <a id="layoutEleObject.eachChild" href="#layoutEleObject.eachChild">&#x23;</a>

```aardio
for(i,eleChild in layoutEleObject.eachChild(/*可选指定开始与结束索引*/) ){
	io.print( i,eleChild.innerHTML );
}
```

### layoutEleObject.enumQuery(枚举函数,CSS选择器,格式化参数) <a id="layoutEleObject.enumQuery" href="#layoutEleObject.enumQuery">&#x23;</a>

```aardio
layoutEleObject.enumQuery(  
	function(ltEle){  
		 /*返回true停止枚举*/  
	},"div"  
)
```

### layoutEleObject.enumStyle(枚举函数) <a id="layoutEleObject.enumStyle" href="#layoutEleObject.enumStyle">&#x23;</a>

```aardio
layoutEleObject.enumStyle(   
	function(selector,ruleType,file,lineNo){  

	}  
)
```

### layoutEleObject.firstSibling() <a id="layoutEleObject.firstSibling" href="#layoutEleObject.firstSibling">&#x23;</a>
获取第一个兄弟节点  

[返回对象:layoutEleObject](#layoutEleObject)

### layoutEleObject.getAttribute("hide") <a id="layoutEleObject.getAttribute" href="#layoutEleObject.getAttribute">&#x23;</a>
获取属性,返回值为字符串或null  
也可以直接写 var 返回值=ele.属性名字

### layoutEleObject.getCaretPos() <a id="layoutEleObject.getCaretPos" href="#layoutEleObject.getCaretPos">&#x23;</a>
返回光标相对于当前节点的客户区位置,  
返回值分别为:左坐标,顶坐标,宽度,高度

### layoutEleObject.getCharFromPos(x,y) <a id="layoutEleObject.getCharFromPos" href="#layoutEleObject.getCharFromPos">&#x23;</a>
返回文本控件指定坐标文本索引  
如果存在子节点,返回文本索引,子节点对象,子节点文本索引

### layoutEleObject.getCtrl() <a id="layoutEleObject.getCtrl" href="#layoutEleObject.getCtrl">&#x23;</a>
返回自定义控件对象  

[返回对象:staticObject](https://www.aardio.com/zh-cn/doc/library-reference/win/ui/ctrl/static.html#staticObject)

### layoutEleObject.getCustomAttribute("字符串参数") <a id="layoutEleObject.getCustomAttribute" href="#layoutEleObject.getCustomAttribute">&#x23;</a>
获取HTML属性,  
如果失败,则在名字前添加横线查找style自定义属性

### layoutEleObject.getDataTable() <a id="layoutEleObject.getDataTable" href="#layoutEleObject.getDataTable">&#x23;</a>
返回节点data-table属性中的值,并序列化为table对象

### layoutEleObject.getElementById("字符串参数") <a id="layoutEleObject.getElementById" href="#layoutEleObject.getElementById">&#x23;</a>
根据ID查找节点  
如果未找到,尝试使用name查找

### layoutEleObject.getElementById() <a id="layoutEleObject.getElementById" href="#layoutEleObject.getElementById">&#x23;</a>
[返回对象:layoutEleObject](#layoutEleObject)

### layoutEleObject.getElementByUid() <a id="layoutEleObject.getElementByUid" href="#layoutEleObject.getElementByUid">&#x23;</a>
[返回对象:layoutEleObject](#layoutEleObject)

### layoutEleObject.getElementByUid(UID) <a id="layoutEleObject.getElementByUid" href="#layoutEleObject.getElementByUid">&#x23;</a>
根据唯一ID在该节点所属窗口范围内查找节点

### layoutEleObject.getElementsByName ("字符串参数") <a id="layoutEleObject.getElementsByName " href="#layoutEleObject.getElementsByName ">&#x23;</a>
根据 name 查找节点集合

### layoutEleObject.getElementsByName() <a id="layoutEleObject.getElementsByName" href="#layoutEleObject.getElementsByName">&#x23;</a>
[返回对象:layoutEleObject](#layoutEleObject)

### layoutEleObject.getElementsByTagName("字符串参数") <a id="layoutEleObject.getElementsByTagName" href="#layoutEleObject.getElementsByTagName">&#x23;</a>
根据HTML标签名查找节点集合

### layoutEleObject.getElementsByTagName() <a id="layoutEleObject.getElementsByTagName" href="#layoutEleObject.getElementsByTagName">&#x23;</a>
[返回对象:layoutEleObject](#layoutEleObject)

### layoutEleObject.getForm() <a id="layoutEleObject.getForm" href="#layoutEleObject.getForm">&#x23;</a>
返回该节点所在窗体对象（ win.form 对象）。  
如果节点所在的是控件窗口，则返回控件窗口的容器窗体。  

[返回对象:winform](https://www.aardio.com/zh-cn/doc/library-reference/win/ui/_.html#winform)

### layoutEleObject.getForm(false) <a id="layoutEleObject.getForm" href="#layoutEleObject.getForm">&#x23;</a>
返回节点所在窗口（窗体或控件对象）。  

[返回对象:staticObject](https://www.aardio.com/zh-cn/doc/library-reference/win/ui/ctrl/static.html#staticObject)

### layoutEleObject.getHwnd(是否返回顶层窗口) <a id="layoutEleObject.getHwnd" href="#layoutEleObject.getHwnd">&#x23;</a>
返回窗口句柄,参数可省略,默认为false

### layoutEleObject.getIntrinsicHeight() <a id="layoutEleObject.getIntrinsicHeight" href="#layoutEleObject.getIntrinsicHeight">&#x23;</a>
返回高度的 min-intrinsic 值

### layoutEleObject.getIntrinsicWidth() <a id="layoutEleObject.getIntrinsicWidth" href="#layoutEleObject.getIntrinsicWidth">&#x23;</a>
返回宽度的 min-intrinsic,max-intrinsic 值

### layoutEleObject.getLayout() <a id="layoutEleObject.getLayout" href="#layoutEleObject.getLayout">&#x23;</a>
返回HTMLayout窗体对象  
非界面线程不可调用此函数  

[返回对象:weblayoutObject](#weblayoutObject)

### layoutEleObject.getPos() <a id="layoutEleObject.getPos" href="#layoutEleObject.getPos">&#x23;</a>
返回文档相对x坐标,y坐标,cx宽度,cy高度

### layoutEleObject.getRect() <a id="layoutEleObject.getRect" href="#layoutEleObject.getRect">&#x23;</a>
[返回对象:rectObject](https://www.aardio.com/zh-cn/doc/library-reference/global/_.html#rectObject)

### layoutEleObject.getRect(_HL) <a id="layoutEleObject.getRect" href="#layoutEleObject.getRect">&#x23;</a>
返回节点区块坐标  
参数可省略,默认值为 _HL_ROOT_RELATIVE | _HL_CONTENT_BOX

### layoutEleObject.getScrollInfo() <a id="layoutEleObject.getScrollInfo" href="#layoutEleObject.getScrollInfo">&#x23;</a>
获取滚动条信息,  
即使CSS样式中使用overflow:hidden;隐藏滚动条,仍然可以正常取到滚动分页等参数,  

[返回对象:ltEleScrollInfoObject](#ltEleScrollInfoObject)

### layoutEleObject.getSel() <a id="layoutEleObject.getSel" href="#layoutEleObject.getSel">&#x23;</a>
返回文本框控件文本选区,返回值:起始位置,结束位置

### layoutEleObject.getState(htmlayout.ELEMENT_STATE_BITS.) <a id="layoutEleObject.getState" href="#layoutEleObject.getState">&#x23;</a>
是否有某个状态,以 _HL_STATE_ 开头的常量表示指定状态

### layoutEleObject.getValueObject() <a id="layoutEleObject.getValueObject" href="#layoutEleObject.getValueObject">&#x23;</a>
返回控件值对象( web.layout.valueObject 对象 )  

[返回对象:webLayoutValueObject](#webLayoutValueObject)

### layoutEleObject.id <a id="layoutEleObject.id" href="#layoutEleObject.id">&#x23;</a>
节点ID

### layoutEleObject.index() <a id="layoutEleObject.index" href="#layoutEleObject.index">&#x23;</a>
节点在父节点child子节点集合中的索引位置

### layoutEleObject.innerHTML <a id="layoutEleObject.innerHTML" href="#layoutEleObject.innerHTML">&#x23;</a>
节点内部HTML源码

### layoutEleObject.innerText <a id="layoutEleObject.innerText" href="#layoutEleObject.innerText">&#x23;</a>
设置或者获取文本

### layoutEleObject.insert(节点,插入位置) <a id="layoutEleObject.insert" href="#layoutEleObject.insert">&#x23;</a>
插入子节点,参数2可省略,默认插入子节点队列最前面  
插入位置为-1表示插入到子节点队列尾部

### layoutEleObject.insertAdjacentHTML("afterBegin",HTML代码) <a id="layoutEleObject.insertAdjacentHTML" href="#layoutEleObject.insertAdjacentHTML">&#x23;</a>
在节点内部最前面插入HTML  
可添加多个HTML参数

### layoutEleObject.insertAdjacentHTML("afterEnd",HTML代码) <a id="layoutEleObject.insertAdjacentHTML" href="#layoutEleObject.insertAdjacentHTML">&#x23;</a>
在节点之后插入HTML  
可添加多个HTML参数

### layoutEleObject.insertAdjacentHTML("beforeBegin",HTML代码) <a id="layoutEleObject.insertAdjacentHTML" href="#layoutEleObject.insertAdjacentHTML">&#x23;</a>
在节点之前插入HTML  
可添加多个HTML参数,

### layoutEleObject.insertAdjacentHTML("beforeEnd",HTML代码) <a id="layoutEleObject.insertAdjacentHTML" href="#layoutEleObject.insertAdjacentHTML">&#x23;</a>
在节点内部最后面插入HTML  
可添加多个HTML参数

### layoutEleObject.isChild(子节点) <a id="layoutEleObject.isChild" href="#layoutEleObject.isChild">&#x23;</a>
判断参数中的节点是否子节点或自身  
参数为空值返回空

### layoutEleObject.isEnabled() <a id="layoutEleObject.isEnabled" href="#layoutEleObject.isEnabled">&#x23;</a>
节点是否可用

### layoutEleObject.isParent(父节点) <a id="layoutEleObject.isParent" href="#layoutEleObject.isParent">&#x23;</a>
判断参数中的节点是否父节点或自身  
参数为空值返回空

### layoutEleObject.isVisible() <a id="layoutEleObject.isVisible" href="#layoutEleObject.isVisible">&#x23;</a>
节点是否可见

### layoutEleObject.lastSibling() <a id="layoutEleObject.lastSibling" href="#layoutEleObject.lastSibling">&#x23;</a>
获取最后一个兄弟节点  

[返回对象:layoutEleObject](#layoutEleObject)

### layoutEleObject.modifyState(要增加的状态,要取消的状态,是否更新) <a id="layoutEleObject.modifyState" href="#layoutEleObject.modifyState">&#x23;</a>
设置状态,以 _HL_STATE_ 开头的常量表示指定状态  
所有参数可省略,参数三默认为true

### layoutEleObject.name <a id="layoutEleObject.name" href="#layoutEleObject.name">&#x23;</a>
节点name属性

### layoutEleObject.next() <a id="layoutEleObject.next" href="#layoutEleObject.next">&#x23;</a>
下一个兄弟节点  

[返回对象:layoutEleObject](#layoutEleObject)

### layoutEleObject.nextSibling() <a id="layoutEleObject.nextSibling" href="#layoutEleObject.nextSibling">&#x23;</a>
获取下一个兄弟节点,可选在参数中指定偏移值  

[返回对象:layoutEleObject](#layoutEleObject)

### layoutEleObject.outerHTML <a id="layoutEleObject.outerHTML" href="#layoutEleObject.outerHTML">&#x23;</a>
节点HTML源码

### layoutEleObject.parent() <a id="layoutEleObject.parent" href="#layoutEleObject.parent">&#x23;</a>
获取父节点  

[返回对象:layoutEleObject](#layoutEleObject)

### layoutEleObject.popup <a id="layoutEleObject.popup" href="#layoutEleObject.popup">&#x23;</a>
在指定坐标弹出菜单

### layoutEleObject.popup(x坐标,y坐标,是否显示动画,相应坐标) <a id="layoutEleObject.popup" href="#layoutEleObject.popup">&#x23;</a>
参数三,四可省略,  
参数四可选值为1到9,表示相对指定坐标的偏移位置如下:  
3 2 1  
6 5 4  
9 8 7

### layoutEleObject.popupAnchor(锚节点,选项) <a id="layoutEleObject.popupAnchor" href="#layoutEleObject.popupAnchor">&#x23;</a>
弹出菜单节点  
参数2指定弹出方向,可省略,默认为2  
可选值(2:下,4:左;6:右 8:上)  

  8    
4 5 6  
  2

### layoutEleObject.popupHide() <a id="layoutEleObject.popupHide" href="#layoutEleObject.popupHide">&#x23;</a>
隐藏菜单节点

### layoutEleObject.popupTrack <a id="layoutEleObject.popupTrack" href="#layoutEleObject.popupTrack">&#x23;</a>
显示菜单、并等待点击返回用户点选的菜单项

### layoutEleObject.popupTrack(x坐标,y坐标,是否显示动画,相应坐标) <a id="layoutEleObject.popupTrack" href="#layoutEleObject.popupTrack">&#x23;</a>
参数三,四可省略,  
参数四可选值为1到9,表示相对指定坐标的偏移位置如下:  
3 2 1  
6 5 4  
9 8 7

### layoutEleObject.postEvent(事件ID,选项,ltTarget) <a id="layoutEleObject.postEvent" href="#layoutEleObject.postEvent">&#x23;</a>
触发事件,不等待返回,参数二,参数三为可选参数  
参数一也可以是事件函数名,例如"onButtonClick",  
支持web.layout.event.BEHAVIOR 命名空间的事件,或其他on前缀的自定义事件  
不应使用此函数触发其他例如onMuse,onKey前缀的事件

### layoutEleObject.previous() <a id="layoutEleObject.previous" href="#layoutEleObject.previous">&#x23;</a>
上一个兄弟节点  

[返回对象:layoutEleObject](#layoutEleObject)

### layoutEleObject.previousSibling() <a id="layoutEleObject.previousSibling" href="#layoutEleObject.previousSibling">&#x23;</a>
获取上一个兄弟节点,可选在参数中指定偏移值  

[返回对象:layoutEleObject](#layoutEleObject)

### layoutEleObject.printf("格式化串",其他参数) <a id="layoutEleObject.printf" href="#layoutEleObject.printf">&#x23;</a>
格式化并写入HTML代码到节点尾部

### layoutEleObject.queryElement() <a id="layoutEleObject.queryElement" href="#layoutEleObject.queryElement">&#x23;</a>
[返回对象:layoutEleObject](#layoutEleObject)

### layoutEleObject.queryElements() <a id="layoutEleObject.queryElements" href="#layoutEleObject.queryElements">&#x23;</a>
[返回对象:layoutEleObject](#layoutEleObject)

### layoutEleObject.queryParent("标签名[属性名='属性值']") <a id="layoutEleObject.queryParent" href="#layoutEleObject.queryParent">&#x23;</a>
该函数类似于CSSS!脚本中的$1p函数,不同的是会测试自身是否匹配,  
使用CSS选择器语法,在父节点中查找匹配最近的一个父节点,  
可选使用参数二指定向上搜索深度,  
如果搜索级别省略或设为0,则不限制搜索深度,  
如果该值为1,仅匹配自身

### layoutEleObject.queryParent() <a id="layoutEleObject.queryParent" href="#layoutEleObject.queryParent">&#x23;</a>
[返回对象:layoutEleObject](#layoutEleObject)

### layoutEleObject.queryParents("标签名[属性名='属性值']") <a id="layoutEleObject.queryParents" href="#layoutEleObject.queryParents">&#x23;</a>
该函数类似于CSSS!脚本中的$p函数,不同的是会测试自身是否匹配,  
使用CSS选择器语法,在父节点中查找所有匹配的节点,  
成功返回非空数组

### layoutEleObject.querySelector <a id="layoutEleObject.querySelector" href="#layoutEleObject.querySelector">&#x23;</a>
使用CSS选择器语法查找节点,返回节点对象

### layoutEleObject.querySelector("标签名[属性名='属性值']") <a id="layoutEleObject.querySelector" href="#layoutEleObject.querySelector">&#x23;</a>
使用CSS选择器语法,  
在当前节点的子节点中查找第一个符合条件节点,  
如果有多个参数则首先调用string.format格式化为CSS文本,  
该函数名可使用'$1'代替,等价于CSS!中的$1函数

### layoutEleObject.querySelector() <a id="layoutEleObject.querySelector" href="#layoutEleObject.querySelector">&#x23;</a>
[返回对象:layoutEleObject](#layoutEleObject)

### layoutEleObject.querySelectorAll <a id="layoutEleObject.querySelectorAll" href="#layoutEleObject.querySelectorAll">&#x23;</a>
使用CSS选择器语法查找节点,返回数组

### layoutEleObject.querySelectorAll("标签名[属性名='属性值']") <a id="layoutEleObject.querySelectorAll" href="#layoutEleObject.querySelectorAll">&#x23;</a>
使用CSS选择器语法,  
在当前节点的子节点中查找所有符合条件节点,  
如果有多个参数则首先调用string.format格式化为CSS文本,  
该函数名可使用'$'代替,等价于CSS!中的$函数

### layoutEleObject.querySelectorAll() <a id="layoutEleObject.querySelectorAll" href="#layoutEleObject.querySelectorAll">&#x23;</a>
[返回对象:layoutEleObject](#layoutEleObject)

### layoutEleObject.release() <a id="layoutEleObject.release" href="#layoutEleObject.release">&#x23;</a>
确认节点对象不再使用可使用此函数释放引用,  
调用此函数后不可再使用该对象,  
节点会自动释放,不建议手动调用此函数

### layoutEleObject.request(网址) <a id="layoutEleObject.request" href="#layoutEleObject.request">&#x23;</a>
用于框架节点打开网页  
该函数会触发onDataArrived事件

### layoutEleObject.request(网址,参数,提交方法) <a id="layoutEleObject.request" href="#layoutEleObject.request">&#x23;</a>
参数可以是字符串或键值对组成的表对象  
提交方法可省略,默认为"POST"  
该函数可触发onDataArrived事件

### layoutEleObject.root() <a id="layoutEleObject.root" href="#layoutEleObject.root">&#x23;</a>
根文档的根节点  
获取框架内部当前文档根节点应请使用documentElement属性  

[返回对象:layoutEleObject](#layoutEleObject)

### layoutEleObject.scrollToView(滚动到顶部,平滑效果) <a id="layoutEleObject.scrollToView" href="#layoutEleObject.scrollToView">&#x23;</a>
滚动上层视图节点滚动条

### layoutEleObject.selHTML <a id="layoutEleObject.selHTML" href="#layoutEleObject.selHTML">&#x23;</a>
HTML剪帖格式返回选区内容,  
该属性只读

### layoutEleObject.selText <a id="layoutEleObject.selText" href="#layoutEleObject.selText">&#x23;</a>
获取或设置选区文本

### layoutEleObject.sendEvent(事件ID,选项,ltTarget) <a id="layoutEleObject.sendEvent" href="#layoutEleObject.sendEvent">&#x23;</a>
触发事件,并等待返回,参数二,参数三为可选参数  
参数一也可以是事件函数名,例如"onButtonClick",  
支持web.layout.event.BEHAVIOR 命名空间的事件,或其他on前缀的自定义事件  
不应使用此函数触发其他例如onMuse,onKey前缀的事件

### layoutEleObject.setAttribute("hide","true") <a id="layoutEleObject.setAttribute" href="#layoutEleObject.setAttribute">&#x23;</a>
修改属性,属性值只能是字符串或null  
也可以直接写 ele.属性名字 = "值"

### layoutEleObject.setDataTable(tab对象) <a id="layoutEleObject.setDataTable" href="#layoutEleObject.setDataTable">&#x23;</a>
序列化table对象并设置为节点data-table属性

### layoutEleObject.setEventRoot() <a id="layoutEleObject.setEventRoot" href="#layoutEleObject.setEventRoot">&#x23;</a>
设为事件触发根节点  
节点之外的节点事节被禁用,  
成功返回上一个事件根节点

### layoutEleObject.setPos(x坐标,y坐标,宽,高) <a id="layoutEleObject.setPos" href="#layoutEleObject.setPos">&#x23;</a>
移动节点,所有参数可选

### layoutEleObject.setScrollPos(x,y,平滑效果) <a id="layoutEleObject.setScrollPos" href="#layoutEleObject.setScrollPos">&#x23;</a>
x,y皆可省略,默认值为0

### layoutEleObject.setSel(起始位置,结束位置) <a id="layoutEleObject.setSel" href="#layoutEleObject.setSel">&#x23;</a>
设置文本框控件文本选区

### layoutEleObject.setTimer(延时毫秒值,ID) <a id="layoutEleObject.setTimer" href="#layoutEleObject.setTimer">&#x23;</a>
如果延时值为0,取消定时器,ID可省略  
在CSSS!脚本中可触发 timer! 事件

### layoutEleObject.setValueObject(值,单位,类型) <a id="layoutEleObject.setValueObject" href="#layoutEleObject.setValueObject">&#x23;</a>
值可选使用字符串,数值,时间值,或 web.layout.valueObject 对象,  
单位为可选参数,值类型(使用 _HL_T_ 前缀常量表示)为可选参数

### layoutEleObject.sort(cmpFunc,firstInddex,lastIndex) <a id="layoutEleObject.sort" href="#layoutEleObject.sort">&#x23;</a>

```aardio
layoutEleObject.sort(  
	function(ltEle,ltEle2){  

		return /*比较条件,可返回-1,0,1等值表示比较结果*/ ? -1 : 1;  
	}  
)
```

### layoutEleObject.state <a id="layoutEleObject.state" href="#layoutEleObject.state">&#x23;</a>
节点状态,  
类似于CSSS! 脚本中使用一个冒号表示状态,  
例如 ele:hover = false,  

[返回对象:htmlayoutStateObject](#htmlayoutStateObject)

### layoutEleObject.style <a id="layoutEleObject.style" href="#layoutEleObject.style">&#x23;</a>
节点样式,  
类似于CSSS! 脚本中使用一对冒号表示状态,  
例如 ele::width = 56px,  
CSS样式属性的值必须是符合CSS样式语法的字符串，例如:  

ltEle.style["color"] = "#F00";  
ltEle.style["background"] = "#FFF";  
ltEle.style["background-image"] = "url(/images/bg.png)";  

[返回对象:htmlayoutStyleObject](#htmlayoutStyleObject)

### layoutEleObject.swap(节点对象) <a id="layoutEleObject.swap" href="#layoutEleObject.swap">&#x23;</a>
交换节点对象位置

### layoutEleObject.tagName <a id="layoutEleObject.tagName" href="#layoutEleObject.tagName">&#x23;</a>
返回表示节点类型的字符串  
例如层节点返回"div"

### layoutEleObject.test("标签名[属性名='属性值']",是否测试所有父节点) <a id="layoutEleObject.test" href="#layoutEleObject.test">&#x23;</a>
测试节点自身是否符合匹配,  
该函数等价于 testParent(CSS选择器,1)

### layoutEleObject.testParent("标签名[属性名='属性值']") <a id="layoutEleObject.testParent" href="#layoutEleObject.testParent">&#x23;</a>
测试父节点中是否存在符合匹配的节点,  
可使用参数2指定向上搜索深度,默认为0表示不作限制,

### layoutEleObject.traverseKey("onKeyDown",_VK_...,altSate) <a id="layoutEleObject.traverseKey" href="#layoutEleObject.traverseKey">&#x23;</a>
参数@1指定事件,可直接使用  _HL_KEY_ 前缀常量作为参数  
参数@2指定虚拟键码,参数altState可省略,可选值:  
_HL_CONTROL_KEY_PRESSED:0x1,  
_HL_SHIFT_KEY_PRESSED:0x2,  
_HL_ALT_KEY_PRESSED:0x4

### layoutEleObject.traverseMouse("onMouseClick",x,y,btnState,altSate) <a id="layoutEleObject.traverseMouse" href="#layoutEleObject.traverseMouse">&#x23;</a>
除参数@1以外,其他都是可选参数  
参数@1指定事件,可直接使用  _HL_MOUSE_ 前缀常量作为参数  
x,y用于指定节点内部相对坐标  
btnState默认为 _HL_MAIN_MOUSE_BUTTON,即鼠标左键

### layoutEleObject.type <a id="layoutEleObject.type" href="#layoutEleObject.type">&#x23;</a>
返回控件类型(type属性)

### layoutEleObject.uid <a id="layoutEleObject.uid" href="#layoutEleObject.uid">&#x23;</a>
节点唯一标志符(数值)

### layoutEleObject.update() <a id="layoutEleObject.update" href="#layoutEleObject.update">&#x23;</a>
更新;

### layoutEleObject.update(true) <a id="layoutEleObject.update" href="#layoutEleObject.update">&#x23;</a>
更新,  
重新计算元素的尺寸

### layoutEleObject.updateEx( _HL_UPDATE_ELEMENT_FLAGS ) <a id="layoutEleObject.updateEx" href="#layoutEleObject.updateEx">&#x23;</a>
更新;  
并调用::UpdateWindow 刷新窗口

### layoutEleObject.updateHTML() <a id="layoutEleObject.updateHTML" href="#layoutEleObject.updateHTML">&#x23;</a>
重新解析节点HTML代码

### layoutEleObject.updateWindow(是否顶层窗口) <a id="layoutEleObject.updateWindow" href="#layoutEleObject.updateWindow">&#x23;</a>
更新窗口  
参数可省略,默认为false

### layoutEleObject.value <a id="layoutEleObject.value" href="#layoutEleObject.value">&#x23;</a>
读写控件值,  
可选值类型:字符串值,数值,时间值等,  
可选使用web.layout.value 对象赋值

### layoutEleObject.visitElement() <a id="layoutEleObject.visitElement" href="#layoutEleObject.visitElement">&#x23;</a>
[返回对象:layoutEleObject](#layoutEleObject)

### layoutEleObject.visitElement(节点类型,属性名,属性值,深度) <a id="layoutEleObject.visitElement" href="#layoutEleObject.visitElement">&#x23;</a>
查找第一个符合的节点,所有参数都可空

### layoutEleObject.visitElements(节点类型,属性名,属性值,深度) <a id="layoutEleObject.visitElements" href="#layoutEleObject.visitElements">&#x23;</a>
查找所有符合的节点,所有参数都可空

### layoutEleObject.workThread <a id="layoutEleObject.workThread" href="#layoutEleObject.workThread">&#x23;</a>
该值为 true 表示节点对象已被转换为适用于工作线程  
该值为 false 表示节点对象是用于界面线程

### layoutEleObject.write(html,...) <a id="layoutEleObject.write" href="#layoutEleObject.write">&#x23;</a>
写入HTML并替换节点内部HTML,  
参数可以是数值,字符串

### layoutEleObject.xcall("自定义函数名",其他参数...) <a id="layoutEleObject.xcall" href="#layoutEleObject.xcall">&#x23;</a>
调用节点自定义的函数,并获取返回值

## layoutEleObject 事件列表 <a id="layoutEleObjectEvent" href="#layoutEleObjectEvent">&#x23;</a>

### layoutEleObject.onActiveChild <a id="layoutEleObject.onActiveChild" href="#layoutEleObject.onActiveChild">&#x23;</a>

```aardio
layoutEleObject.onActiveChild = function (ltTarget,ltOwner,reason,behaviorParams) {  

}
```

### layoutEleObject.onAnimation <a id="layoutEleObject.onAnimation" href="#layoutEleObject.onAnimation">&#x23;</a>

```aardio
layoutEleObject.onAnimation = function (ltTarget,ltOwner,reason,behaviorParams) {  

}
```

### layoutEleObject.onApplicationEvent <a id="layoutEleObject.onApplicationEvent" href="#layoutEleObject.onApplicationEvent">&#x23;</a>

```aardio
layoutEleObject.onApplicationEvent = function (ltTarget,ltOwner,reason,behaviorParams) {  
	/*postEvent或sendEvent发出一大于0x100的消息*/  
}
```

### layoutEleObject.onButtonClick <a id="layoutEleObject.onButtonClick" href="#layoutEleObject.onButtonClick">&#x23;</a>

```aardio
layoutEleObject.onButtonClick = function (ltTarget,ltOwner,reason,behaviorParams) {  

}
```

### layoutEleObject.onButtonPress <a id="layoutEleObject.onButtonPress" href="#layoutEleObject.onButtonPress">&#x23;</a>

```aardio
layoutEleObject.onButtonPress = function (ltTarget,ltOwner,reason,behaviorParams) {  

}
```

### layoutEleObject.onButtonStateChanged <a id="layoutEleObject.onButtonStateChanged" href="#layoutEleObject.onButtonStateChanged">&#x23;</a>

```aardio
layoutEleObject.onButtonStateChanged = function (ltTarget,ltOwner,reason,behaviorParams) {  

}
```

### layoutEleObject.onClick <a id="layoutEleObject.onClick" href="#layoutEleObject.onClick">&#x23;</a>

```aardio
layoutEleObject.onClick = function( ltOwner ){  
	/*click函数触发此事件*/  
	return true;  
}
```

### layoutEleObject.onClosePopup <a id="layoutEleObject.onClosePopup" href="#layoutEleObject.onClosePopup">&#x23;</a>

```aardio
layoutEleObject.onClosePopup = function (ltTarget,ltOwner,reason,behaviorParams) {  

}
```

### layoutEleObject.onContextMenuRequest <a id="layoutEleObject.onContextMenuRequest" href="#layoutEleObject.onContextMenuRequest">&#x23;</a>

```aardio
layoutEleObject.onContextMenuRequest = function (ltTarget,ltOwner,reason,behaviorParams){  
	var ltPopupOwner = ..web.layout.element( behaviorParams.he )  

}
```

### layoutEleObject.onContextMenuSetup <a id="layoutEleObject.onContextMenuSetup" href="#layoutEleObject.onContextMenuSetup">&#x23;</a>

```aardio
layoutEleObject.onContextMenuSetup = function (ltTarget,ltOwner,reason,behaviorParams){  
	var ltPopupOwner = ..web.layout.element( behaviorParams.he )  

}
```

### layoutEleObject.onDataArrived <a id="layoutEleObject.onDataArrived" href="#layoutEleObject.onDataArrived">&#x23;</a>

```aardio
layoutEleObject.onDataArrived = function(ltTarget,ltOwner,data,dataType,status,url){  
    return true;/*返回true撤消数据不显示内容*/  
}
```

### layoutEleObject.onDisabledStateChanged <a id="layoutEleObject.onDisabledStateChanged" href="#layoutEleObject.onDisabledStateChanged">&#x23;</a>

```aardio
layoutEleObject.onDisabledStateChanged = function (ltTarget,ltOwner,reason,behaviorParams) {  

}
```

### layoutEleObject.onDragEnter <a id="layoutEleObject.onDragEnter" href="#layoutEleObject.onDragEnter">&#x23;</a>

```aardio
layoutEleObject.onDragEnter = function( ltTarget,ltOwner,x,y,ltMouseParams ) {  

}
```

### layoutEleObject.onDragLeave <a id="layoutEleObject.onDragLeave" href="#layoutEleObject.onDragLeave">&#x23;</a>

```aardio
layoutEleObject.onDragLeave = function( ltTarget,ltOwner,x,y,ltMouseParams ) {  

}
```

### layoutEleObject.onDragRequest <a id="layoutEleObject.onDragRequest" href="#layoutEleObject.onDragRequest">&#x23;</a>

```aardio
layoutEleObject.onDragRequest = function( ltTarget,ltOwner,x,y,ltMouseParams ) {  

}
```

### layoutEleObject.onDrawBackground <a id="layoutEleObject.onDrawBackground" href="#layoutEleObject.onDrawBackground">&#x23;</a>

```aardio
layoutEleObject.onDrawBackground = function(ltOwner,hdc,rc){   
	/*自绘背景*/  
	return true;  
}
```

### layoutEleObject.onDrawContent <a id="layoutEleObject.onDrawContent" href="#layoutEleObject.onDrawContent">&#x23;</a>

```aardio
layoutEleObject.onDrawContent = function(ltOwner,hdc,rc){   
	/*自绘内容*/  
	return true;  
}
```

### layoutEleObject.onDrawForeground <a id="layoutEleObject.onDrawForeground" href="#layoutEleObject.onDrawForeground">&#x23;</a>

```aardio
layoutEleObject.onDrawForeground  = function(ltOwner,hdc,rc){   
	/*自绘前景*/  
	return true;  
}
```

### layoutEleObject.onDrop <a id="layoutEleObject.onDrop" href="#layoutEleObject.onDrop">&#x23;</a>

```aardio
layoutEleObject.onDrop = function( ltTarget,ltOwner,x,y,ltMouseParams ) {  

}
```

### layoutEleObject.onEditValueChanged <a id="layoutEleObject.onEditValueChanged" href="#layoutEleObject.onEditValueChanged">&#x23;</a>

```aardio
layoutEleObject.onEditValueChanged = function (ltTarget,ltOwner,reason,behaviorParams) {  

}
```

### layoutEleObject.onEditValueChanging <a id="layoutEleObject.onEditValueChanging" href="#layoutEleObject.onEditValueChanging">&#x23;</a>

```aardio
layoutEleObject.onEditValueChanging = function (ltTarget,ltOwner,reason,behaviorParams) {  

}
```

### layoutEleObject.onElementCollapsed <a id="layoutEleObject.onElementCollapsed" href="#layoutEleObject.onElementCollapsed">&#x23;</a>

```aardio
layoutEleObject.onElementCollapsed = function (ltTarget,ltOwner,reason,behaviorParams) {  

}
```

### layoutEleObject.onElementControlCreated <a id="layoutEleObject.onElementControlCreated" href="#layoutEleObject.onElementControlCreated">&#x23;</a>

```aardio
layoutEleObject.onElementControlCreated = function (ltTarget,ltOwner,reason,behaviorParams) {  
	var ltCtrl = ltOwner.getCtrl();/*自定义控件已创建*/  
}
```

### layoutEleObject.onElementExpanded <a id="layoutEleObject.onElementExpanded" href="#layoutEleObject.onElementExpanded">&#x23;</a>

```aardio
layoutEleObject.onElementExpanded = function (ltTarget,ltOwner,reason,behaviorParams) {  

}
```

### layoutEleObject.onExchangeDrag <a id="layoutEleObject.onExchangeDrag" href="#layoutEleObject.onExchangeDrag">&#x23;</a>

```aardio
layoutEleObject.onExchangeDrag = function( ltTarget,ltOwner,x,y,cmd,dataTypes,fetchData,exParams ) {    
	return true;/*这里返回true才会显示可拖放鼠标指针*/  
}
```

### layoutEleObject.onExchangeDragEnter <a id="layoutEleObject.onExchangeDragEnter" href="#layoutEleObject.onExchangeDragEnter">&#x23;</a>

```aardio
layoutEleObject.onExchangeDragEnter = function( ltTarget,ltOwner,x,y,cmd,dataTypes,fetchData,exParams ) {    
	return true;  
}
```

### layoutEleObject.onExchangeDragLeave <a id="layoutEleObject.onExchangeDragLeave" href="#layoutEleObject.onExchangeDragLeave">&#x23;</a>

```aardio
layoutEleObject.onExchangeDragLeave = function( ltTarget,ltOwner,x,y,cmd,dataTypes,fetchData,exParams ) {    
	return true;  
}
```

### layoutEleObject.onExchangeDrop <a id="layoutEleObject.onExchangeDrop" href="#layoutEleObject.onExchangeDrop">&#x23;</a>

```aardio
layoutEleObject.onExchangeDrop = function( ltTarget,ltOwner,x,y,cmd,dataTypes,fetchData,exParams ) {   
    var data,dataType = fetchData( _HL_EXF/*可选指定支持的拖放数据类型*/ );  
    if( data ) {  
        return true;  
    }  
}
```

### layoutEleObject.onFocusGot <a id="layoutEleObject.onFocusGot" href="#layoutEleObject.onFocusGot">&#x23;</a>

```aardio
layoutEleObject.onFocusGot = function( ltTarget,ltOwner,focusParams ) {  

}
```

### layoutEleObject.onFocusLost <a id="layoutEleObject.onFocusLost" href="#layoutEleObject.onFocusLost">&#x23;</a>

```aardio
layoutEleObject.onFocusLost = function( ltTarget,ltOwner,focusParams ) {  

}
```

### layoutEleObject.onFormReset <a id="layoutEleObject.onFormReset" href="#layoutEleObject.onFormReset">&#x23;</a>

```aardio
layoutEleObject.onFormReset = function (ltTarget,ltOwner,reason,behaviorParams) {  

}
```

### layoutEleObject.onFormSubmit <a id="layoutEleObject.onFormSubmit" href="#layoutEleObject.onFormSubmit">&#x23;</a>

```aardio
layoutEleObject.onFormSubmit = function (ltTarget,ltOwner,reason,behaviorParams) {  
	var formData = behaviorParams.data.getValue();  
}
```

### layoutEleObject.onFrameDocumentComplete <a id="layoutEleObject.onFrameDocumentComplete" href="#layoutEleObject.onFrameDocumentComplete">&#x23;</a>

```aardio
layoutEleObject.onFrameDocumentComplete = function (ltTarget,ltOwner,reason,behaviorParams) {  

}
```

### layoutEleObject.onGesturePan <a id="layoutEleObject.onGesturePan" href="#layoutEleObject.onGesturePan">&#x23;</a>

```aardio
layoutEleObject.onGesturePan = function (ltTarget,ltOwner,ltGestureParams) {  
	/*平移*/  
}
```

### layoutEleObject.onGestureRequest <a id="layoutEleObject.onGestureRequest" href="#layoutEleObject.onGestureRequest">&#x23;</a>

```aardio
layoutEleObject.onGestureRequest = function (ltTarget,ltOwner,ltGestureParams) {  
	ltGestureParams.flags = 0xFFFF/*_HL_GESTURE_FLAGS_ALL*/  
	return true;  
}
```

### layoutEleObject.onGestureRotate <a id="layoutEleObject.onGestureRotate" href="#layoutEleObject.onGestureRotate">&#x23;</a>

```aardio
layoutEleObject.onGestureRotate = function (ltTarget,ltOwner,ltGestureParams) {  
	/*旋转*/  
}
```

### layoutEleObject.onGestureTap1 <a id="layoutEleObject.onGestureTap1" href="#layoutEleObject.onGestureTap1">&#x23;</a>

```aardio
layoutEleObject.onGestureTap1 = function (ltTarget,ltOwner,ltGestureParams) {  
	/*单击*/  
}
```

### layoutEleObject.onGestureTap2 <a id="layoutEleObject.onGestureTap2" href="#layoutEleObject.onGestureTap2">&#x23;</a>

```aardio
layoutEleObject.onGestureTap2 = function (ltTarget,ltOwner,ltGestureParams) {  
	/*双击*/  
}
```

### layoutEleObject.onGestureZoom <a id="layoutEleObject.onGestureZoom" href="#layoutEleObject.onGestureZoom">&#x23;</a>

```aardio
layoutEleObject.onGestureZoom = function (ltTarget,ltOwner,ltGestureParams) {  
	/*缩放*/  
}
```

### layoutEleObject.onGetCaretPos <a id="layoutEleObject.onGetCaretPos" href="#layoutEleObject.onGetCaretPos">&#x23;</a>

```aardio
layoutEleObject.onSetValue = function(  ltOwner,value ){  

	return true,/*光标位置:left,top,width,height*/  
}
```

### layoutEleObject.onGetValue <a id="layoutEleObject.onGetValue" href="#layoutEleObject.onGetValue">&#x23;</a>

```aardio
layoutEleObject.onGetValue = function( ltOwner ){  

	return true,/*返回控件值*/;  
}
```

### layoutEleObject.onHyperlinkClick <a id="layoutEleObject.onHyperlinkClick" href="#layoutEleObject.onHyperlinkClick">&#x23;</a>

```aardio
layoutEleObject.onHyperlinkClick = function (ltTarget,ltOwner,reason,behaviorParams) {  

}
```

### layoutEleObject.onInitDataView <a id="layoutEleObject.onInitDataView" href="#layoutEleObject.onInitDataView">&#x23;</a>

```aardio
layoutEleObject.onInitDataView = function (ltTarget,ltOwner,reason,behaviorParams) {  

}
```

### layoutEleObject.onIsEmpty <a id="layoutEleObject.onIsEmpty" href="#layoutEleObject.onIsEmpty">&#x23;</a>

```aardio
layoutEleObject.onIsEmpty = function( ltOwner ){  

	return true,false/*分别为:是否中止事件传递,是否为空值*/;  
}
```

```aardio
layoutEleObject.onSetValue = function(  ltOwner,value ){  

	return true  
}
```

### layoutEleObject.onKeyChar <a id="layoutEleObject.onKeyChar" href="#layoutEleObject.onKeyChar">&#x23;</a>

```aardio
layoutEleObject.onKeyChar = function( ltTarget,ltOwner,keyCode, altState, ltKeyParams ) {  

}
```

### layoutEleObject.onKeyDown <a id="layoutEleObject.onKeyDown" href="#layoutEleObject.onKeyDown">&#x23;</a>

```aardio
layoutEleObject.onKeyDown = function( ltTarget,ltOwner,keyCode, altState, ltKeyParams ) {  

}
```

### layoutEleObject.onKeyUp <a id="layoutEleObject.onKeyUp" href="#layoutEleObject.onKeyUp">&#x23;</a>

```aardio
layoutEleObject.onKeyUp = function( ltTarget,ltOwner,keyCode, altState, ltKeyParams ) {  

}
```

### layoutEleObject.onMenuItemActive <a id="layoutEleObject.onMenuItemActive" href="#layoutEleObject.onMenuItemActive">&#x23;</a>

```aardio
layoutEleObject.onMenuItemActive = function (ltTarget,ltOwner,reason,behaviorParams) {  
	var ltPopupOwner = ..web.layout.element( behaviorParams.he )  

}
```

### layoutEleObject.onMenuItemClick <a id="layoutEleObject.onMenuItemClick" href="#layoutEleObject.onMenuItemClick">&#x23;</a>

```aardio
layoutEleObject.onMenuItemClick = function (ltTarget,ltOwner,reason,behaviorParams) {  
	var ltPopupOwner = ..web.layout.element( behaviorParams.he )  

}
```

### layoutEleObject.onMouseClick <a id="layoutEleObject.onMouseClick" href="#layoutEleObject.onMouseClick">&#x23;</a>

```aardio
layoutEleObject.onMouseClick = function( ltTarget,ltOwner,x,y,ltMouseParams ) {  

}
```

### layoutEleObject.onMouseDblClick <a id="layoutEleObject.onMouseDblClick" href="#layoutEleObject.onMouseDblClick">&#x23;</a>

```aardio
layoutEleObject.onMouseDblClick = function( ltTarget,ltOwner,x,y,ltMouseParams ) {  

}
```

### layoutEleObject.onMouseDown <a id="layoutEleObject.onMouseDown" href="#layoutEleObject.onMouseDown">&#x23;</a>

```aardio
layoutEleObject.onMouseDown = function( ltTarget,ltOwner,x,y,ltMouseParams ) {  

}
```

### layoutEleObject.onMouseEnter <a id="layoutEleObject.onMouseEnter" href="#layoutEleObject.onMouseEnter">&#x23;</a>

```aardio
layoutEleObject.onMouseEnter = function( ltTarget,ltOwner,x,y,ltMouseParams ) {  

}
```

### layoutEleObject.onMouseIdle <a id="layoutEleObject.onMouseIdle" href="#layoutEleObject.onMouseIdle">&#x23;</a>

```aardio
layoutEleObject.onMouseIdle = function( ltTarget,ltOwner,x,y,ltMouseParams ) {  

}
```

### layoutEleObject.onMouseLeave <a id="layoutEleObject.onMouseLeave" href="#layoutEleObject.onMouseLeave">&#x23;</a>

```aardio
layoutEleObject.onMouseLeave = function( ltTarget,ltOwner,x,y,ltMouseParams ) {  

}
```

### layoutEleObject.onMouseMove <a id="layoutEleObject.onMouseMove" href="#layoutEleObject.onMouseMove">&#x23;</a>

```aardio
layoutEleObject.onMouseMove = function( ltTarget,ltOwner,x,y,ltMouseParams ) {  

}
```

### layoutEleObject.onMouseTick <a id="layoutEleObject.onMouseTick" href="#layoutEleObject.onMouseTick">&#x23;</a>

```aardio
layoutEleObject.onMouseTick = function( ltTarget,ltOwner,x,y,ltMouseParams ) {  

}
```

### layoutEleObject.onMouseUp <a id="layoutEleObject.onMouseUp" href="#layoutEleObject.onMouseUp">&#x23;</a>

```aardio
layoutEleObject.onMouseUp = function( ltTarget,ltOwner,x,y,ltMouseParams ) {  

}
```

### layoutEleObject.onMouseWheel <a id="layoutEleObject.onMouseWheel" href="#layoutEleObject.onMouseWheel">&#x23;</a>

```aardio
layoutEleObject.onMouseWheel = function( ltTarget,ltOwner,x,y,ltMouseParams ) {  

}
```

### layoutEleObject.onPopupDismissed <a id="layoutEleObject.onPopupDismissed" href="#layoutEleObject.onPopupDismissed">&#x23;</a>

```aardio
layoutEleObject.onPopupDismissed = function (ltTarget,ltOwner,reason,behaviorParams) {  
	var ltPopupOwner = ..web.layout.element( behaviorParams.he )  

}
```

### layoutEleObject.onPopupDismissing <a id="layoutEleObject.onPopupDismissing" href="#layoutEleObject.onPopupDismissing">&#x23;</a>

```aardio
layoutEleObject.onPopupDismissing = function (ltTarget,ltOwner,reason,behaviorParams) {  

}
```

### layoutEleObject.onPopupReady <a id="layoutEleObject.onPopupReady" href="#layoutEleObject.onPopupReady">&#x23;</a>

```aardio
layoutEleObject.onPopupReady = function (ltTarget,ltOwner,reason,behaviorParams) {  
	var ltPopupOwner = ..web.layout.element( behaviorParams.he )  

}
```

### layoutEleObject.onPopupRequest <a id="layoutEleObject.onPopupRequest" href="#layoutEleObject.onPopupRequest">&#x23;</a>

```aardio
layoutEleObject.onPopupRequest = function (ltTarget,ltOwner,reason,behaviorParams) {  
	var ltPopupOwner = ..web.layout.element( behaviorParams.he )  

}
```

### layoutEleObject.onReplaceSel <a id="layoutEleObject.onReplaceSel" href="#layoutEleObject.onReplaceSel">&#x23;</a>

```aardio
layoutEleObject.onSetValue = function(  ltOwner,value ){  

	return true  
}
```

### layoutEleObject.onRequestTooltip <a id="layoutEleObject.onRequestTooltip" href="#layoutEleObject.onRequestTooltip">&#x23;</a>

```aardio
layoutEleObject.onRequestTooltip = function (ltTarget,ltOwner,reason,behaviorParams) {  

}
```

### layoutEleObject.onRowsDataRequest <a id="layoutEleObject.onRowsDataRequest" href="#layoutEleObject.onRowsDataRequest">&#x23;</a>

```aardio
layoutEleObject.onRowsDataRequest = function (ltTarget,ltOwner,reason,behaviorParams) {  

}
```

### layoutEleObject.onSelectSelectionChanged <a id="layoutEleObject.onSelectSelectionChanged" href="#layoutEleObject.onSelectSelectionChanged">&#x23;</a>

```aardio
layoutEleObject.onSelectSelectionChanged = function (ltTarget,ltOwner,reason,behaviorParams) {  
	var ltOption = ..web.layout.element( behaviorParams.he )  

}
```

### layoutEleObject.onSelectStateChanged <a id="layoutEleObject.onSelectStateChanged" href="#layoutEleObject.onSelectStateChanged">&#x23;</a>

```aardio
layoutEleObject.onSelectStateChanged = function (ltTarget,ltOwner,reason,behaviorParams) {  

}
```

### layoutEleObject.onSetValue <a id="layoutEleObject.onSetValue" href="#layoutEleObject.onSetValue">&#x23;</a>

```aardio
layoutEleObject.onSetValue = function(  ltOwner,value ){  

	return true  
}
```

### layoutEleObject.onSize <a id="layoutEleObject.onSize" href="#layoutEleObject.onSize">&#x23;</a>

```aardio
layoutEleObject.onSize = function (ltOwner) {  

}
```

### layoutEleObject.onTableHeaderClick <a id="layoutEleObject.onTableHeaderClick" href="#layoutEleObject.onTableHeaderClick">&#x23;</a>

```aardio
layoutEleObject.onTableHeaderClick = function (ltTarget,ltOwner,cellIndex,behaviorParams) {  

}
```

### layoutEleObject.onTableRowClick <a id="layoutEleObject.onTableRowClick" href="#layoutEleObject.onTableRowClick">&#x23;</a>

```aardio
layoutEleObject.onTableRowClick = function (ltTarget,ltOwner,rowIndex,behaviorParams) {  

}
```

### layoutEleObject.onTableRowDblClick <a id="layoutEleObject.onTableRowDblClick" href="#layoutEleObject.onTableRowDblClick">&#x23;</a>

```aardio
layoutEleObject.onTableRowDblClick = function (ltTarget,ltOwner,rowIndex,behaviorParams) {  

}
```

### layoutEleObject.onTimer <a id="layoutEleObject.onTimer" href="#layoutEleObject.onTimer">&#x23;</a>

```aardio
layoutEleObject.onTimer = function (ltOwner,timerId) {  

}
```

### layoutEleObject.onUiStateChanged <a id="layoutEleObject.onUiStateChanged" href="#layoutEleObject.onUiStateChanged">&#x23;</a>

```aardio
layoutEleObject.onUiStateChanged = function (ltTarget,ltOwner,reason,behaviorParams) {  

}
```

### layoutEleObject.onVisualStateChanged <a id="layoutEleObject.onVisualStateChanged" href="#layoutEleObject.onVisualStateChanged">&#x23;</a>

```aardio
layoutEleObject.onVisualStateChanged = function (ltTarget,ltOwner,shown,behaviorParams) {  

}
```

## ltEle 成员列表 <a id="ltEle" href="#ltEle">&#x23;</a>

HTMLayout节点对象,  
lt前缀变量为HTMLayout保留,请勿用于表示其他类型对象  

[返回对象:layoutEleObject](#layoutEleObject)

## ltEleScrollInfoObject 成员列表 <a id="ltEleScrollInfoObject" href="#ltEleScrollInfoObject">&#x23;</a>

### ltEleScrollInfoObject.page <a id="ltEleScrollInfoObject.page" href="#ltEleScrollInfoObject.page">&#x23;</a>
分页大小  

[返回对象:sizeObject](#sizeObject)

### ltEleScrollInfoObject.pos <a id="ltEleScrollInfoObject.pos" href="#ltEleScrollInfoObject.pos">&#x23;</a>
滚动条位置  

[返回对象:pointObject](https://www.aardio.com/zh-cn/doc/library-reference/gdip/core.html#pointObject)

### ltEleScrollInfoObject.rect <a id="ltEleScrollInfoObject.rect" href="#ltEleScrollInfoObject.rect">&#x23;</a>
视图区块  

[返回对象:rectObject](https://www.aardio.com/zh-cn/doc/library-reference/global/_.html#rectObject)

### ltEleScrollInfoObject.size <a id="ltEleScrollInfoObject.size" href="#ltEleScrollInfoObject.size">&#x23;</a>
内容大小  

[返回对象:sizeObject](#sizeObject)

## ltOwner 成员列表 <a id="ltOwner" href="#ltOwner">&#x23;</a>

HTMLayout节点对象,  
在事件函数中,ltOwner一般表示捕获事件的节点,  
lt前缀变量为HTMLayout保留,请勿用于表示其他类型对象  

[返回对象:layoutEleObject](#layoutEleObject)

## web.layout 成员列表 <a id="web.layout" href="#web.layout">&#x23;</a>

### web.layout.element() <a id="web.layout.element" href="#web.layout.element">&#x23;</a>
[返回对象:layoutEleObject](#layoutEleObject)

### web.layout.element(句柄,是否添加引用) <a id="web.layout.element" href="#web.layout.element">&#x23;</a>
将节点句柄转换为节点对象

### 自动完成常量
_HLDOM_INVALID_HANDLE=2  
_HLDOM_INVALID_HWND=1  
_HLDOM_INVALID_PARAMETER=4  
_HLDOM_OK=0  
_HLDOM_OK_NOT_HANDLED=-1  
_HLDOM_OPERATION_FAILED=5  
_HLDOM_PASSIVE_HANDLE=3  
_HL_BACK_IMAGE_AREA=0x40  
_HL_BORDER_BOX=0x20  
_HL_CONTAINER_RELATIVE=3  
_HL_CONTENT_BOX=0  
_HL_CTL_BUTTON=4  
_HL_CTL_CALENDAR=0x16  
_HL_CTL_CHECKBOX=5  
_HL_CTL_CURRENCY=0x10  
_HL_CTL_DATE=0x17  
_HL_CTL_DD_SELECT=9  
_HL_CTL_DECIMAL=0xF  
_HL_CTL_EDIT=2  
_HL_CTL_FORM=0x23  
_HL_CTL_FRAME=0x19  
_HL_CTL_FRAMESET=0x1A  
_HL_CTL_GRAPHICS=0x1B  
_HL_CTL_HIDDEN=0x20  
_HL_CTL_HTMLAREA=0xB  
_HL_CTL_HYPERLINK=0x12  
_HL_CTL_LIST=0x1D  
_HL_CTL_MENU=0x14  
_HL_CTL_MENUBAR=0x13  
_HL_CTL_MENUBUTTON=0x15  
_HL_CTL_NO=0  
_HL_CTL_NUMERIC=3  
_HL_CTL_PASSWORD=0xC  
_HL_CTL_PROGRESS=0xD  
_HL_CTL_RADIO=6  
_HL_CTL_RICHTEXT=0x1E  
_HL_CTL_SCROLLBAR=0x11  
_HL_CTL_SELECT_MULTIPLE=8  
_HL_CTL_SELECT_SINGLE=7  
_HL_CTL_SLIDER=0xE  
_HL_CTL_SPRITE=0x1C  
_HL_CTL_TEXTAREA=0xA  
_HL_CTL_TIME=0x18  
_HL_CTL_TOOLBAR=0x22  
_HL_CTL_TOOLTIP=0x1F  
_HL_CTL_UNKNOWN=1  
_HL_CTL_URL=0x21  
_HL_FORE_IMAGE_AREA=0x50  
_HL_HV_BAD_PARAMETER=1  
_HL_HV_INCOMPATIBLE_TYPE=2  
_HL_HV_OK=0  
_HL_HV_OK_TRUE=-1  
_HL_MARGIN_BOX=0x30  
_HL_PADDING_BOX=0x10  
_HL_ROOT_RELATIVE=1  
_HL_SCROLLABLE_AREA=0x60  
_HL_SELF_RELATIVE=2  
_HL_T_ARRAY=9  
_HL_T_BOOL=2  
_HL_T_BYTES=0xC  
_HL_T_CURRENCY=7  
_HL_T_DATE=6  
_HL_T_DOM_OBJECT=0xE  
_HL_T_FLOAT=4  
_HL_T_FUNCTION=0xB  
_HL_T_INT=3  
_HL_T_LENGTH=8  
_HL_T_MAP=0xA  
_HL_T_NULL=1  
_HL_T_OBJECT=0xD  
_HL_T_STRING=5  
_HL_T_UNDEFINED=0  
_HL_UPDATE_ELEMENT_FLAGS_MEASURE_DEEP=2  
_HL_UPDATE_ELEMENT_FLAGS_MEASURE_INPLACE=1  
_HL_UPDATE_ELEMENT_FLAGS_REDRAW_NOW=0x8000  
_HL_UPDATE_ELEMENT_FLAGS_RESET_STYLE_DEEP=0x10  
_HL_UPDATE_ELEMENT_FLAGS_RESET_STYLE_THIS=0x20  
_HL_UT_CM=9  
_HL_UT_COLOR=0xF  
_HL_UT_DIP=0xD  
_HL_UT_EM=1  
_HL_UT_EX=2  
_HL_UT_IN=8  
_HL_UT_MM=0xA  
_HL_UT_PC=0xC  
_HL_UT_PR=3  
_HL_UT_PT=0xB  
_HL_UT_PX=7  
_HL_UT_SP=4  
_HL_UT_SYMBOL=0xFFFF  
_HL_UT_URL=0x10  
_HL_VIEW_RELATIVE=4  
