diff --git a/docs/.vuepress/utils/customTypeJson.json b/docs/.vuepress/utils/customTypeJson.json index a7a9cdd299fe6832c0639d55401c112006c57f21..217b210c5d43381ffa64ed6e65aa2fa39812d3f6 100644 --- a/docs/.vuepress/utils/customTypeJson.json +++ b/docs/.vuepress/utils/customTypeJson.json @@ -1 +1 @@ -{"Event":{"name":"## Event","description":"","extends":"","param":"\n### 构造函数\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| type | string | 是 | - | - | 事件的名称 |\n\n### 构造函数\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| type | string | 是 | - | - | 事件的名称 |\n| eventInit | [UTSJSONObject](/uts/buildin-object-api/utsjsonobject.md) | 是 | - | - | 事件初始参数。支持字段:`bubbles`表明该事件是否冒泡。可选,默认为false;`cancelable`表明该事件是否可以被取消。可选,默认为false。 |\n\n### Event 的属性值 @event-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| bubbles | boolean | 是 | - | - | 是否冒泡 |\n| cancelable | boolean | 是 | - | - | 是否可以取消 |\n| type | string | 是 | - | - | 事件类型 |\n| target | [UniElement](/dom/unielement.md) \\| null | 否 | - | | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 |\n| currentTarget | [UniElement](/dom/unielement.md) \\| null | 否 | - | | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 |\n| timeStamp | number | 是 | - | - | 事件发生时的时间戳 |\n","methods":{"stopPropagation":{"name":"#### stopPropagation() @stoppropagation","description":"阻止当前事件的进一步传播","param":"","returnValue":"","compatibility":"##### stopPropagation 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n","tutorial":""},"preventDefault":{"name":"#### preventDefault() @preventdefault","description":"阻止当前事件的默认行为
","param":"","returnValue":"","compatibility":"##### preventDefault 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | x |\n","tutorial":""}},"compatibility":"### Event 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"UTSJSONObject":{"name":"## UTSJSONObject","description":"","extends":"","param":"","methods":{"get":{"name":"#### get(key) @get","description":"获取一个 属性,返回类型是any 或者 null","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| key | string | 是 | - | - | - | \n","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| any \\| null | 否 |\n \n","compatibility":"##### get 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","tutorial":"\n##### 参见\n- [参见uni-app相关文档](https://uniapp.dcloud.net.cn/uts/buildin-object-api/UTSJSONObject.html#get)\n"},"set":{"name":"#### set(key, value) @set","description":"获取一个 属性,返回类型是any 或者 null","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| key | string | 是 | - | - | - |\n| value | any | 是 | - | - | - | \n","returnValue":"","compatibility":"##### set 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","tutorial":"\n##### 参见\n- [参见uni-app相关文档](https://uniapp.dcloud.net.cn/uts/buildin-object-api/UTSJSONObject.html#set)\n"},"getAny":{"name":"#### getAny(key) @getany","description":"获取一个 属性,返回类型是any 或者 null","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| key | string | 是 | - | - | - | \n","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| any \\| null | 否 |\n \n","compatibility":"##### getAny 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","tutorial":"\n##### 参见\n- [参见uni-app相关文档](https://uniapp.dcloud.net.cn/uts/buildin-object-api/UTSJSONObject.html#getAny)\n"},"getBoolean":{"name":"#### getBoolean(key) @getboolean","description":"获取一个Boolean属性,返回类型是Boolean 或者 null","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| key | string | 是 | - | - | - | \n","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| boolean \\| null | 否 |\n \n","compatibility":"##### getBoolean 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","tutorial":"\n##### 参见\n- [参见uni-app相关文档](https://uniapp.dcloud.net.cn/uts/buildin-object-api/UTSJSONObject.html#getBoolean)\n"},"getNumber":{"name":"#### getNumber(key) @getnumber","description":"获取一个number属性,返回类型是number 或者 null","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| key | string | 是 | - | - | - | \n","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| number \\| null | 否 |\n \n","compatibility":"##### getNumber 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","tutorial":"\n##### 参见\n- [参见uni-app相关文档](https://uniapp.dcloud.net.cn/uts/buildin-object-api/UTSJSONObject.html#getNumber)\n"},"getString":{"name":"#### getString(key) @getstring","description":"获取一个string属性,返回类型是string 或者 null","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| key | string | 是 | - | - | - | \n","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| string \\| null | 否 |\n \n","compatibility":"##### getString 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","tutorial":"\n##### 参见\n- [参见uni-app相关文档](https://uniapp.dcloud.net.cn/uts/buildin-object-api/UTSJSONObject.html#getString)\n"},"getJSON":{"name":"#### getJSON(key) @getjson","description":"获取一个UTSJSONObject属性,返回类型是UTSJSONObject 或者 null","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| key | string | 是 | - | - | - | \n","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| [UTSJSONObject](/uts/buildin-object-api/utsjsonobject.md) \\| null | 否 |\n \n","compatibility":"##### getJSON 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","tutorial":"\n##### 参见\n- [参见uni-app相关文档](https://uniapp.dcloud.net.cn/uts/buildin-object-api/UTSJSONObject.html#getJSON)\n"},"getArray":{"name":"#### getArray(key) @getarray","description":"获取一个Array属性,返回类型是Array 或者 null, 数组元素类型由泛型T决定","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| key | string | 是 | - | - | - | \n","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| T[] \\| null | 否 |\n \n","compatibility":"##### getArray 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","tutorial":"\n##### 参见\n- [参见uni-app相关文档](https://uniapp.dcloud.net.cn/uts/buildin-object-api/UTSJSONObject.html#getArray)\n"},"toMap":{"name":"#### toMap() @tomap","description":"将当前 UTSJSONObject 实例转换为 Map 实例。","param":"","returnValue":"##### 返回值 \n\n| 类型 |\n| :- |\n| Map\\ |\n \n","compatibility":"##### toMap 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","tutorial":"\n##### 参见\n- [参见uni-app相关文档](https://uniapp.dcloud.net.cn/uts/buildin-object-api/UTSJSONObject.html#toMap)\n"},"parse":{"name":"#### parse() @parse","description":"将当前的UTSJSONObject对象转换为某一个具体的类型 T","param":"","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| T \\| null | 否 |\n \n","compatibility":"##### parse 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | x |\n","tutorial":"\n##### 参见\n- [参见uni-app相关文档](https://uniapp.dcloud.net.cn/uts/buildin-object-api/UTSJSONObject.html#parse)\n"}},"compatibility":"### UTSJSONObject 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"UniElement":{"name":"## UniElement","description":"UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。","extends":"","param":"\n### UniElement 的属性值 @unielement-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| classList | Array\\ | 是 | - | | 只读属性 获取当前元素的的 class 属性的动态集合。 |\n| firstChild | [UniElement](/dom/unielement.md) \\| null | 否 | - | | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 |\n| lastChild | [UniElement](/dom/unielement.md) \\| null | 否 | - | | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 |\n| parentElement | [UniElement](/dom/unielement.md) \\| null | 否 | - | | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 |\n| previousSibling | [UniElement](/dom/unielement.md) \\| null | 否 | - | | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 |\n| nextElementSibling | [UniElement](/dom/unielement.md) \\| null | 否 | - | | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 |\n| children | Array\\<[UniElement](/dom/unielement.md)\\> | 是 | - | | 只读属性 获取当前元素包含的子元素的集合 |\n| tagName | string | 是 | - | | 只读属性 获取当前元素的标签名 |\n| nodeName | string | 是 | - | | 只读属性 获取当前元素的元素名称 |\n| dataset | Map\\ | 是 | - | | 只读属性 获取元素上自定义数据属性(data-*)的集合 |\n| attributes | Map\\ | 是 | - | | 只读属性 获取元素上所有属性元素的集合 |\n| style | [CSSStyleDeclaration](/dom/cssstyledeclaration.md) | 是 | - | | 只读属性 获取元素的CSS样式对象 |\n| scrollWidth | number | 是 | - | | 只读属性 获取可滚动元素内容的总宽度,仅scroll-view、list-view组件支持,其他组件返回视图宽度 |\n| scrollHeight | number | 是 | - | | 只读属性 获取可滚动元素内容的总高度,仅scroll-view、list-view组件支持,其他组件返回视图高度 |\n| scrollLeft | number | 是 | - | | 获取或修改元素滚动条到元素左边的距离像素数,仅scroll-view、list-view组件支持。其他组件返回0 |\n| scrollTop | number | 是 | - | | 获取或修改元素滚动条到元素顶部的距离像素数,仅scroll-view、list-view组件支持。其他组件返回0 |\n| offsetLeft | number | 是 | - | | 只读属性 元素的左边界偏移值 单位px |\n| offsetTop | number | 是 | - | | 只读属性 元素的顶部边界偏移值 单位px |\n| offsetWidth | number | 是 | - | | 只读属性 元素的布局宽度,宽度包含border、padding的数据值 单位px |\n| offsetHeight | number | 是 | - | | 只读属性 元素的布局高度,高度包含border、padding的数据值 单位px |\n| ext | Map\\ | 是 | - | | 只读属性 扩展属性 |\n","methods":{"takeSnapshot":{"name":"#### takeSnapshot(options) @takesnapshot","description":"对当前组件进行截图,调用此方法会将当前组件(包含子节点)渲染结果导出成图片。
成功会返回图片对应的临时文件路径,目前默认png格式
","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | [TakeSnapshotOptions](#takesnapshotoptions-values) | 是 | - | - | 组件截图的参数对象 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| type | string \\| null | 否 | \"file\" | - | 截图导出类型,目前仅支持 'file' 保存到临时文件目录 |\n@| format | string \\| null | 否 | \"png\" | - | 截图文件格式,目前仅支持 'png' |\n@| success | (res: [TakeSnapshotSuccess](#takesnapshotsuccess-values)) => void \\| null | 否 | - | - | 接口调用成功的回调函数 |\n@| fail | (res: [TakeSnapshotFail](#takesnapshotfail-values)) => void \\| null | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (res: any) => void \\| null | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n##### TakeSnapshotSuccess 的属性值 @takesnapshotsuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| tempFilePath | string | 是 | - | - | 截图保存的临时文件路径 |\n\n##### TakeSnapshotFail 的属性值 @takesnapshotfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","compatibility":"##### takeSnapshot 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.03 | 4.11 |\n","tutorial":""},"appendChild":{"name":"#### appendChild(aChild) @appendchild","description":"将一个元素添加到指定父元素的子元素列表的末尾处。如果将被插入的元素已经存在于当前文档的文档树中,那么将会它从原先的位置移动到新的位置。","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| aChild | [UniElement](/dom/unielement.md) | 是 | - | | 插入子元素对象 | \n","returnValue":"","compatibility":"##### appendChild 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""},"insertBefore":{"name":"#### insertBefore(newChild, refChild?) @insertbefore","description":"在参考元素之前插入一个拥有指定父元素的子元素。如果给定的子元素是对文档中现有元素的引用,insertBefore() 会将其从当前位置移动到新位置。","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| newChild | [UniElement](/dom/unielement.md) | 是 | - | | 插入子元素对象 |\n| refChild | [UniElement](/dom/unielement.md) \\| null | 否 | - | | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 | \n","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| [UniElement](/dom/unielement.md) \\| null | 否 |\n \n","compatibility":"##### insertBefore 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""},"setAttribute":{"name":"#### setAttribute(key, value) @setattribute","description":"设置指定元素上的某个属性值。如果设置的属性已经存在,则更新该属性值;否则使用指定的名称和值添加一个新的属性。","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| key | string | 是 | - | - | 属性名称 |\n| value | string | 是 | - | - | 属性值域 | \n","returnValue":"","compatibility":"##### setAttribute 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""},"getAttribute":{"name":"#### getAttribute(key) @getattribute","description":"获取元素指定的属性值,如果指定的属性不存在则返回null。","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| key | string | 是 | - | - | 属性名称 | \n","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| string \\| null | 否 |\n \n","compatibility":"##### getAttribute 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""},"hasAttribute":{"name":"#### hasAttribute(key) @hasattribute","description":"返回改元素是否包含有指定的属性,属性存在则返回true,否则返回false。","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| key | string | 是 | - | - | 属性名称 | \n","returnValue":"##### 返回值 \n\n| 类型 |\n| :- |\n| boolean |\n \n","compatibility":"##### hasAttribute 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""},"removeAttribute":{"name":"#### removeAttribute(key) @removeattribute","description":"从元素中删除一个属性,如果指定的属性不存在,则不做任何操作,也不会产生错误。","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| key | string | 是 | - | - | 属性名称 | \n","returnValue":"","compatibility":"##### removeAttribute 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""},"getBoundingClientRect":{"name":"#### getBoundingClientRect() @getboundingclientrect","description":"获取元素的大小及其相对于窗口的位置信息。","param":"","returnValue":"##### 返回值 \n\n| 类型 |\n| :- |\n| [DOMRect](/dom/domrect.md) |\n \n","compatibility":"##### getBoundingClientRect 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""},"getDrawableContext":{"name":"#### getDrawableContext() @getdrawablecontext","description":"获取组件的绘制对象,仅uvue页面中的 view 组件支持,其它组件不支持则返回null。","param":"","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| [DrawableContext](/dom/drawablecontext.md) \\| null | 否 |\n \n","compatibility":"##### getDrawableContext 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.0 | 4.11 |\n","tutorial":""},"addEventListener":{"name":"#### addEventListener(type, callback) @addeventlistener","description":"将指定的监听器注册到元素对象上,当该对象触发指定的事件时,指定的回调函数就会被执行。","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| type | string | 是 | - | - | 事件类型 |\n| callback | (event: T) => R | 是 | - | - | 事件监听器 T表示event类型,R表示返回值类型 | \n","returnValue":"##### 返回值 \n\n| 类型 |\n| :- |\n| UniCallbackWrapper |\n \n","compatibility":"##### addEventListener 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.0 | 4.11 |\n","tutorial":""},"removeEventListener":{"name":"#### removeEventListener(type, callbackWrapper) @removeeventlistener","description":"删除使用 addEventListener 方法添加的事件监听器。","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| type | string | 是 | - | - | 事件类型 |\n| callbackWrapper | UniCallbackWrapper | 是 | - | - | 事件监听回调封装类 | \n","returnValue":"","compatibility":"##### removeEventListener 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.0 | 4.11 |\n","tutorial":""},"removeChild":{"name":"#### removeChild(aChild) @removechild","description":"从元素中删除一个子元素,返回删除的元素。","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| aChild | [UniElement](/dom/unielement.md) | 是 | - | | 被删除子元素对象 | \n","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| [UniElement](/dom/unielement.md) \\| null | 否 |\n \n","compatibility":"##### removeChild 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""},"remove":{"name":"#### remove() @remove","description":"把元素对象从它所属的 DOM 树中删除。","param":"","returnValue":"","compatibility":"##### remove 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""},"dispatchEvent":{"name":"#### dispatchEvent(type, value) @dispatchevent","description":"向一个指定的事件目标派发一个 Event,并以合适的顺序(同步地)调用此事件的监听器回调函数。","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| type | string | 是 | - | - | 事件类型 |\n| value | [UniEvent](/component/common#unievent) | 是 | - | - | 事件返回对象 | \n","returnValue":"","compatibility":"##### dispatchEvent 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""},"scrollTo":{"name":"#### scrollTo(x, y) @scrollto","description":"使界面滚动到给定元素的指定坐标位置 仅scroll-view、list-view组件支持","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | x轴要滚动到坐标位置(单位px) |\n| y | number | 是 | - | - | y轴要滚动到坐标位置(单位px) | \n","returnValue":"","compatibility":"##### scrollTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""},"scrollBy":{"name":"#### scrollBy(x, y) @scrollby","description":"使得元素滚动一段特定距离 仅scroll-view、list-view组件支持","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | x轴要滚动的距离(单位px) |\n| y | number | 是 | - | - | y轴要滚动的距离(单位px) | \n","returnValue":"","compatibility":"##### scrollBy 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""},"querySelector":{"name":"#### querySelector(selector) @queryselector","description":"返回文档中与指定选择器或选择器组匹配的第一个 Element对象。如果找不到匹配项,则返回null","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| selector | [string.cssSelectorString](/uts/data-type.md#ide-string) | 是 | - | - | CSS 选择器字符串 | \n","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| [UniElement](/dom/unielement.md) \\| null | 否 |\n \n","compatibility":"##### querySelector 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""},"querySelectorAll":{"name":"#### querySelectorAll(selector) @queryselectorall","description":"返回与指定的选择器组匹配的文档中的元素列表","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| selector | [string.cssSelectorString](/uts/data-type.md#ide-string) | 是 | - | - | CSS 选择器字符串 | \n","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| Array\\<[UniElement](/dom/unielement.md)\\> \\| null | 否 |\n \n","compatibility":"##### querySelectorAll 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""},"focus":{"name":"#### focus() @focus","description":"使元素获取焦点 仅input、Textarea组件支持","param":"","returnValue":"","compatibility":"##### focus 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""},"blur":{"name":"#### blur() @blur","description":"使元素丢失焦点 仅input、Textarea组件支持","param":"","returnValue":"","compatibility":"##### blur 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""}},"compatibility":"### UniElement 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |"},"CSSStyleDeclaration":{"name":"## CSSStyleDeclaration","description":"CSSStyleDeclaration表示一个CSS 声明块对象,它是一个 CSS 属性键值对的集合,暴露样式信息和各种与样式相关的方法和属性。","extends":"","param":"","methods":{"setProperty":{"name":"#### setProperty(name, value?) @setproperty","description":"对CSS指定样式设置一个新值,如有此样式已存在则更新。","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| name | string ([string.cssPropertyString](/uts/data-type.md#ide-string)) | 是 | - | - | CSS样式名称 |\n| value | any \\| null | 否 | - | - | 要设置的新CSS样式值 | \n","returnValue":"","compatibility":"##### setProperty 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","tutorial":""},"getPropertyValue":{"name":"#### getPropertyValue(property) @getpropertyvalue","description":"获取CSS指定的样式值,如果指定的样式不存在则返回null。","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| property | string ([string.cssPropertyString](/uts/data-type.md#ide-string)) | 是 | - | - | 要获取的CSS样式名称 | \n","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| any \\| null | 否 |\n \n","compatibility":"##### getPropertyValue 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","tutorial":""},"removeProperty":{"name":"#### removeProperty(property) @removeproperty","description":"删除CSS指定的样式值","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| property | string ([string.cssPropertyString](/uts/data-type.md#ide-string)) | 是 | - | - | 要删除的CSS样式名称 | \n","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| any \\| null | 否 |\n \n","compatibility":"##### removeProperty 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","tutorial":""}},"compatibility":"### CSSStyleDeclaration 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |"},"TakeSnapshotOptions":{"name":"## TakeSnapshotOptions","description":"组件截图的参数配置选项","extends":"","param":"\n### TakeSnapshotOptions 的属性值 @takesnapshotoptions-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| type | string \\| null | 否 | \"file\" | - | 截图导出类型,目前仅支持 'file' 保存到临时文件目录 |\n| format | string \\| null | 否 | \"png\" | - | 截图文件格式,目前仅支持 'png' |\n| success | (res: **TakeSnapshotSuccess**) => void \\| null | 否 | - | - | 接口调用成功的回调函数 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| tempFilePath | string | 是 | - | - | 截图保存的临时文件路径 |\n| fail | (res: **TakeSnapshotFail**) => void \\| null | 否 | - | - | 接口调用失败的回调函数 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| errMsg | string | 是 | - | - | - |\n| complete | (res: any) => void \\| null | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) |\n","compatibility":"### TakeSnapshotOptions 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"TakeSnapshotSuccessCallback":{"name":"## TakeSnapshotSuccessCallback","description":"","extends":"","param":"","compatibility":"### TakeSnapshotSuccessCallback 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"TakeSnapshotSuccess":{"name":"## TakeSnapshotSuccess","description":"","extends":"","param":"\n### TakeSnapshotSuccess 的属性值 @takesnapshotsuccess-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| tempFilePath | string | 是 | - | - | 截图保存的临时文件路径 |\n","compatibility":"### TakeSnapshotSuccess 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"TakeSnapshotFailCallback":{"name":"## TakeSnapshotFailCallback","description":"","extends":"","param":"","compatibility":"### TakeSnapshotFailCallback 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"TakeSnapshotFail":{"name":"## TakeSnapshotFail","description":"","extends":"","param":"\n### TakeSnapshotFail 的属性值 @takesnapshotfail-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n","compatibility":"### TakeSnapshotFail 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"TakeSnapshotCompleteCallback":{"name":"## TakeSnapshotCompleteCallback","description":"","extends":"","param":"","compatibility":"### TakeSnapshotCompleteCallback 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"DOMRect":{"name":"## DOMRect","description":"一个 DOMRect 代表一个矩形。","extends":"","param":"\n### 构造函数\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 否 | 0 | - | 矩形原点的x坐标 |\n| y | number | 否 | 0 | - | 矩形原点的y坐标 |\n| width | number | 否 | 0 | - | 矩形的宽 |\n| height | number | 否 | 0 | - | 矩形的高 |\n\n### DOMRect 的属性值 @domrect-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| width | number | 是 | - | | 矩形的宽 |\n| height | number | 是 | - | | 矩形的高 |\n| x | number | 是 | - | | 矩形原点的x坐标 |\n| y | number | 是 | - | | 矩形原点的y坐标 |\n| left | number | 是 | - | | 矩形的左坐标值 |\n| right | number | 是 | - | | 矩形的右坐标值 |\n| top | number | 是 | - | | 矩形的顶坐标值 |\n| bottom | number | 是 | - | | 矩形的底坐标值 |\n","compatibility":"### DOMRect 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |"},"DrawableContext":{"name":"## DrawableContext","description":"","extends":"","param":"\n### DrawableContext 的属性值 @drawablecontext-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| font | string | 是 | 10px | | 设置字体大小 |\n| fillStyle | [string.ColorString](/uts/data-type.md#ide-string) | 是 | #000 (黑色) | | 设置填充颜色 |\n| lineCap | string | 是 | butt | | 指定如何绘制每一条线条末端的属性,可选值:`butt`线段末端以方形结束;`round`线段末端以圆形结束;`square`线段末端以方形结束,但是会增加一个一半宽度的矩形区域。 |\n| lineDashOffset | number | 是 | - | | 设置虚线偏移量 |\n| lineJoin | string | 是 | miter | | 设置 2 个长度不为 0 的线条相连部分如何连接在一起的属性,可选值:`bevel`斜角;`round`圆角;`miter`尖角。 |\n| lineWidth | number | 是 | 1px | | 设置线条的宽度 |\n| strokeStyle | [string.ColorString](/uts/data-type.md#ide-string) | 是 | #000 (黑色) | | 设置边框的颜色 |\n| textAlign | string | 是 | left | | 设置文本的对齐方式,可取值:`left`左对齐;`center`居中对齐;`right`右对齐。 |\n","methods":{"beginPath":{"name":"#### beginPath() @beginpath","description":"创建一个新的空路径","param":"","returnValue":"","compatibility":"##### beginPath 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","tutorial":""},"arc":{"name":"#### arc(x, y, radius, startAngle, endAngle, anticlockwise?) @arc","description":"绘制一段弧线","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 圆心的X轴坐标 |\n| y | number | 是 | - | - | 圆心的Y轴坐标 |\n| radius | number | 是 | - | - | 圆弧的半径 |\n| startAngle | number | 是 | - | - | 圆弧的起始点,x 轴方向开始计算,单位为弧度 |\n| endAngle | number | 是 | - | - | 圆弧的终点,单位为弧度 |\n| anticlockwise | boolean \\| null | 否 | true | - | 圆弧绘制方向,true:逆时针绘制,false:顺时针绘制。 | \n","returnValue":"","compatibility":"##### arc 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","tutorial":""},"moveTo":{"name":"#### moveTo(x, y) @moveto","description":"将一个新的路径的起始点移动到 (x,y) 坐标","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 点的X轴坐标 |\n| y | number | 是 | - | - | 点的Y轴坐标 | \n","returnValue":"","compatibility":"##### moveTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","tutorial":""},"rect":{"name":"#### rect(x, y, width, height) @rect","description":"创建一个矩形路径","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 矩形起点的X轴坐标 |\n| y | number | 是 | - | - | 矩形起点的Y轴坐标 |\n| width | number | 是 | - | - | 矩形宽度 |\n| height | number | 是 | - | - | 矩形高度 | \n","returnValue":"","compatibility":"##### rect 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","tutorial":""},"lineTo":{"name":"#### lineTo(x, y) @lineto","description":"将路径的最后一个点连接到 (x,y) 坐标","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 线终点的X轴坐标 |\n| y | number | 是 | - | - | 线终点的Y轴坐标 | \n","returnValue":"","compatibility":"##### lineTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","tutorial":""},"closePath":{"name":"#### closePath() @closepath","description":"闭合路径,将最后一个点与起点连接起来。如果图形已经封闭,或者只有一个点,那么此方法不会产生任何效果。","param":"","returnValue":"","compatibility":"##### closePath 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","tutorial":""},"stroke":{"name":"#### stroke() @stroke","description":"绘制当前或已经存在的路径的边框。","param":"","returnValue":"","compatibility":"##### stroke 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","tutorial":""},"strokeRect":{"name":"#### strokeRect(x, y, width, height) @strokerect","description":"绘制一个矩形框","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 矩形起点的X轴坐标 |\n| y | number | 是 | - | - | 矩形起点的Y轴坐标 |\n| width | number | 是 | - | - | 矩形宽度 |\n| height | number | 是 | - | - | 矩形高度 | \n","returnValue":"","compatibility":"##### strokeRect 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","tutorial":""},"strokeText":{"name":"#### strokeText(text, x, y) @stroketext","description":"绘制空心字符","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| text | string | 是 | - | - | 要绘制的字符 |\n| x | number | 是 | - | - | 字符开始绘制的X轴坐标 |\n| y | number | 是 | - | - | 字符开始绘制的Y轴坐标 | \n","returnValue":"","compatibility":"##### strokeText 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","tutorial":""},"fill":{"name":"#### fill(fillRule?) @fill","description":"填充当前或已存在的路径","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| fillRule | string \\| null | 否 | nonzero | - | 填充规则。可取值:`nonzero`非零环绕规则;`evenodd`奇偶环绕规则。 | \n","returnValue":"","compatibility":"##### fill 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","tutorial":""},"fillRect":{"name":"#### fillRect(x, y, width, height) @fillrect","description":"绘制一个实心矩形","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 矩形起点的X轴坐标 |\n| y | number | 是 | - | - | 矩形起点的Y轴坐标 |\n| width | number | 是 | - | - | 矩形宽度 |\n| height | number | 是 | - | - | 矩形高度 | \n","returnValue":"","compatibility":"##### fillRect 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","tutorial":""},"fillText":{"name":"#### fillText(text, x, y) @filltext","description":"绘制实心字符","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| text | string | 是 | - | - | 要绘制的字符 |\n| x | number | 是 | - | - | 字符开始绘制的X轴坐标 |\n| y | number | 是 | - | - | 字符开始绘制的Y轴坐标 | \n","returnValue":"","compatibility":"##### fillText 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","tutorial":""},"reset":{"name":"#### reset() @reset","description":"清空绘制数据","param":"","returnValue":"","compatibility":"##### reset 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","tutorial":""},"update":{"name":"#### update() @update","description":"将所有绘制内容更新到画布上","param":"","returnValue":"","compatibility":"##### update 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","tutorial":""},"setLineDash":{"name":"#### setLineDash(segments) @setlinedash","description":"设置虚线样式","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| segments | number[\\] | 是 | - | - | 一组描述交替绘制线段和间距长度的数字。 | \n","returnValue":"","compatibility":"##### setLineDash 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","tutorial":""},"bezierCurveTo":{"name":"#### bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y) @beziercurveto","description":"创建三次方贝塞尔曲线路径","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| cp1x | number | 是 | - | - | 第一个贝塞尔控制点的 x 坐标 |\n| cp1y | number | 是 | - | - | 第一个贝塞尔控制点的 y 坐标 |\n| cp2x | number | 是 | - | - | 第二个贝塞尔控制点的 x 坐标 |\n| cp2y | number | 是 | - | - | 第二个贝塞尔控制点的 y 坐标 |\n| x | number | 是 | - | - | 结束点的 x 坐标 |\n| y | number | 是 | - | - | 结束点的 y 坐标 | \n","returnValue":"","compatibility":"##### bezierCurveTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","tutorial":""}},"compatibility":"### DrawableContext 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |","example":"### 示例 \n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha/pages/API/element-draw/element-draw.uvue) \n ::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/element-draw/element-draw\n>Template\n```vue\n\n\n\n\n\n\n```\n>Script\n```uts\n\n var y = 160\n export default {\n data() {\n return {\n texts: [\n 'HBuilderX,轻巧、极速,极客编辑器',\n 'uni-app x,终极跨平台方案',\n 'uniCloud,js serverless云服务',\n 'uts,大一统语言',\n 'uniMPSdk,让你的App具备小程序能力',\n 'uni-admin,开源、现成的全端管理后台',\n 'uni-id,开源、全端的账户中心',\n 'uni-pay,开源、云端一体、全平台的支付',\n 'uni-ai,聚合ai能力',\n 'uni-cms,开源、云端一体、全平台的内容管理平台',\n 'uni-im,开源、云端一体、全平台的im即时消息',\n 'uni统计,开源、完善、全平台的统计报表',\n '......'\n ] as string[]\n }\n },\n onShow() {\n },\n\n onReady() {\n this.drawText()\n this.drawLines()\n this.drawCircles()\n this.drawStar()\n this.drawhouse()\n this.drawPoint()\n this.drawRect()\n this.drawArcTo()\n },\n onUnload() {\n y = 160\n },\n methods: {\n drawText() {\n let element = uni.getElementById('draw-text-view')!\n let ctx = element.getDrawableContext()!\n let width = element.getBoundingClientRect().width\n ctx.reset()\n ctx.font = \"15px Arial\"\n ctx.textAlign = \"center\"\n for (var i = 0; i < this.texts.length; i++) {\n let value = this.texts[i]\n if (i % 2 == 0) {\n ctx.fillText(value, width / 2, (20 * (i + 1)))\n } else {\n ctx.lineWidth = 0.5\n ctx.strokeText(value, width / 2, (20 * (i + 1)))\n }\n }\n ctx.update()\n },\n drawLines() {\n let ctx = uni.getElementById('draw-line-view')!.getDrawableContext()!\n ctx.reset()\n ctx.lineWidth = 10;\n\n [\"round\", \"bevel\", \"miter\"].forEach((join, i) => {\n ctx.lineJoin = join;\n ctx.beginPath();\n ctx.moveTo(5, 10 + i * 40);\n ctx.lineTo(50, 50 + i * 40);\n ctx.lineTo(90, 10 + i * 40);\n ctx.lineTo(130, 50 + i * 40);\n ctx.lineTo(170, 10 + i * 40);\n ctx.stroke();\n });\n ctx.lineWidth = 1\n var space = 170\n ctx.strokeStyle = '#09f';\n ctx.beginPath();\n ctx.moveTo(10 + space, 10);\n ctx.lineTo(140 + space, 10);\n ctx.moveTo(10 + space, 140);\n ctx.lineTo(140 + space, 140);\n ctx.stroke();\n // Draw lines\n ctx.strokeStyle = 'black';\n ['butt', 'round', 'square'].forEach((lineCap, i) => {\n ctx.lineWidth = 15;\n ctx.lineCap = lineCap;\n ctx.beginPath();\n ctx.moveTo(25 + space + i * 50, 10);\n ctx.lineTo(25 + space + i * 50, 140);\n ctx.stroke();\n });\n ctx.lineWidth = 1;\n this.drawDashedLine([], ctx);\n this.drawDashedLine([2, 2], ctx);\n this.drawDashedLine([10, 10], ctx);\n this.drawDashedLine([20, 5], ctx);\n this.drawDashedLine([15, 3, 3, 3], ctx);\n this.drawDashedLine([20, 3, 3, 3, 3, 3, 3, 3], ctx);\n ctx.lineDashOffset = 18;\n this.drawDashedLine([12, 3, 3], ctx);\n ctx.lineDashOffset = 0\n ctx.setLineDash([0])\n ctx.update()\n },\n drawDashedLine(pattern : Array, ctx : DrawableContext) {\n ctx.beginPath();\n ctx.setLineDash(pattern);\n ctx.moveTo(0, y);\n ctx.lineTo(300, y);\n ctx.stroke();\n y += 15;\n },\n drawCircles() {\n let ctx = uni.getElementById('draw-circle-view')!.getDrawableContext()!\n ctx.reset()\n // Draw shapes\n for (var i = 0; i < 4; i++) {\n for (var j = 0; j < 3; j++) {\n ctx.beginPath();\n var x = 25 + j * 50; // x coordinate\n var y = 25 + i * 50; // y coordinate\n var radius = 20; // Arc radius\n var startAngle = 0; // Starting point on circle\n var endAngle = Math.PI + (Math.PI * j) / 2; // End point on circle\n var clockwise = i % 2 == 0 ? false : true; // clockwise or anticlockwise\n\n ctx.arc(x, y, radius, startAngle, endAngle, clockwise);\n\n if (i > 1) {\n ctx.fill();\n } else {\n ctx.stroke();\n }\n }\n }\n ctx.update()\n },\n\n drawStar() {\n let ctx = uni.getElementById('draw-dash-line')!.getDrawableContext()!\n ctx.reset()\n ctx.beginPath();\n var horn = 5; // 画5个角\n var angle = 360 / horn; // 五个角的度数\n // 两个圆的半径\n var R = 50;\n var r = 20;\n // 坐标\n var x = 100;\n var y = 100;\n for (var i = 0; i < horn; i++) {\n // 角度转弧度:角度/180*Math.PI\n // 外圆顶点坐标\n ctx.lineTo(Math.cos((18 + i * angle) / 180.0 * Math.PI) * R + x, -Math.sin((18 + i * angle) / 180.0 * Math.PI) * R + y);\n // 內圆顶点坐标\n ctx.lineTo(Math.cos((54 + i * angle) / 180.0 * Math.PI) * r + x, -Math.sin((54 + i * angle) / 180.0 * Math.PI) * r + y);\n }\n // closePath:关闭路径,将路径的终点与起点相连\n ctx.closePath();\n ctx.lineWidth = 3;\n ctx.fillStyle = '#E4EF00';\n ctx.strokeStyle = \"red\";\n ctx.fill();\n ctx.stroke();\n\n ctx.lineWidth = 10;\n ctx.beginPath()\n ctx.moveTo(170, 100)\n ctx.lineTo(255, 15)\n ctx.lineTo(340, 100)\n ctx.closePath()\n ctx.fill()\n ctx.strokeStyle = \"blue\"\n ctx.stroke()\n ctx.beginPath()\n ctx.moveTo(170, 145)\n ctx.lineTo(255, 45)\n ctx.lineTo(340, 145)\n ctx.closePath()\n ctx.fill()\n ctx.strokeStyle = \"gray\"\n ctx.stroke()\n // 未设置beginPath,导致上下表现一致,与前端一致\n ctx.moveTo(170, 190)\n ctx.lineTo(255, 90)\n ctx.lineTo(340, 190)\n ctx.closePath()\n ctx.fillStyle = \"orange\"\n ctx.fill()\n ctx.strokeStyle = \"khaki\"\n ctx.stroke()\n ctx.update()\n },\n hex(num : number) : string {\n if (num == 0) {\n return \"00\"\n }\n let hexChars = \"0123456789ABCDEF\";\n let result = \"\";\n while (num > 0) {\n let remainder = Math.floor(num) % 16;\n result = hexChars[remainder] + result;\n num = Math.floor(Math.floor(num) / 16);\n }\n if (result.length == 1) {\n return \"0\" + result\n }\n return result\n },\n drawhouse() {\n let ctx = uni.getElementById('draw-house')!.getDrawableContext()!\n ctx.reset()\n ctx.lineWidth = 10;\n\n // Wall\n ctx.strokeRect(75, 140, 150, 110);\n\n // Door\n ctx.fillRect(130, 190, 40, 60);\n\n // Roof\n ctx.beginPath();\n ctx.moveTo(50, 140);\n ctx.lineTo(150, 60);\n ctx.lineTo(250, 140);\n ctx.closePath();\n ctx.stroke();\n ctx.update()\n },\n drawPoint() {\n let ctx = uni.getElementById('draw-style')!.getDrawableContext()!\n ctx.reset()\n for (let i = 0; i < 6; i++) {\n for (let j = 0; j < 6; j++) {\n ctx.strokeStyle = `rgb(0,${Math.floor(255 - 42.5 * i)},${Math.floor(255 - 42.5 * j)})`;\n ctx.beginPath();\n ctx.arc(12.5 + j * 25, 12.5 + i * 25, 10, 0, Math.PI * 2, true);\n ctx.stroke();\n }\n }\n for (let i = 0; i < 6; i++) {\n for (let j = 0; j < 6; j++) {\n ctx.fillStyle = `rgb(${Math.floor(255 - 42.5 * i)},${Math.floor(255 - 42.5 * j)},0)`;\n ctx.fillRect(180 + j * 25, i * 25, 25, 25);\n }\n }\n ctx.update()\n },\n drawRect() {\n let ctx = uni.getElementById('draw-odd')!.getDrawableContext()!\n ctx.reset()\n // Create path\n ctx.moveTo(30, 90);\n ctx.lineTo(110, 20);\n ctx.lineTo(240, 130);\n ctx.lineTo(60, 130);\n ctx.lineTo(190, 20);\n ctx.lineTo(270, 90);\n ctx.closePath();\n\n // Fill path\n ctx.fillStyle = \"green\";\n ctx.fill(\"evenodd\");\n ctx.update()\n\n },\n drawArcTo() {\n let ctx = uni.getElementById('draw-arcto')!.getDrawableContext()!\n ctx.reset()\n ctx.beginPath();\n ctx.moveTo(50, 20);\n ctx.bezierCurveTo(230, 30, 150, 60, 50, 100);\n ctx.stroke();\n\n ctx.fillStyle = \"blue\";\n // start point\n ctx.fillRect(50, 20, 10, 10);\n // end point\n ctx.fillRect(50, 100, 10, 10);\n\n ctx.fillStyle = \"red\";\n // control point one\n ctx.fillRect(230, 30, 10, 10);\n // control point two\n ctx.fillRect(150, 70, 10, 10);\n ctx.update()\n }\n }\n }\n\n```\n:::"},"UniCallbackWrapper":{"name":"## UniCallbackWrapper","description":"事件回调封装类,用于注销监听函数的形参","extends":"","param":"","compatibility":"### UniCallbackWrapper 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"UniEvent":{"name":"## UniEvent","description":"","extends":"","param":"\n### 构造函数\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| type | string | 是 | - | - | 事件的名称 |\n\n### 构造函数\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| type | string | 是 | - | - | 事件的名称 |\n| eventInit | [UTSJSONObject](/uts/buildin-object-api/utsjsonobject.md) | 是 | - | - | 事件初始参数。支持字段:`bubbles`表明该事件是否冒泡。可选,默认为false;`cancelable`表明该事件是否可以被取消。可选,默认为false。 |\n\n### UniEvent 的属性值 @unievent-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| bubbles | boolean | 是 | - | - | 是否冒泡 |\n| cancelable | boolean | 是 | - | - | 是否可以取消 |\n| type | string | 是 | - | - | 事件类型 |\n| target | [UniElement](/dom/unielement.md) \\| null | 否 | - | | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 |\n| currentTarget | [UniElement](/dom/unielement.md) \\| null | 否 | - | | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 |\n| timeStamp | number | 是 | - | - | 事件发生时的时间戳 |\n","methods":{"stopPropagation":{"name":"#### stopPropagation() @stoppropagation","description":"阻止当前事件的进一步传播","param":"","returnValue":"","compatibility":"##### stopPropagation 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n","tutorial":""},"preventDefault":{"name":"#### preventDefault() @preventdefault","description":"阻止当前事件的默认行为
","param":"","returnValue":"","compatibility":"##### preventDefault 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | x |\n","tutorial":""}},"compatibility":"### UniEvent 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"CustomEvent":{"name":"## CustomEvent","description":"","extends":"","param":"\n### 构造函数\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| type | string | 是 | - | - | - |\n| detail | T | 是 | - | - | - |\n\n### 构造函数\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| type | string | 是 | - | - | - |\n| options | any | 是 | - | - | - |\n\n### CustomEvent 的属性值 @customevent-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| detail | T | 是 | - | - | - |\n| bubbles | boolean | 是 | - | - | 是否冒泡 |\n| cancelable | boolean | 是 | - | - | 是否可以取消 |\n| type | string | 是 | - | - | 事件类型 |\n| target | [UniElement](/dom/unielement.md) \\| null | 否 | - | | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 |\n| currentTarget | [UniElement](/dom/unielement.md) \\| null | 否 | - | | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 |\n| timeStamp | number | 是 | - | - | 事件发生时的时间戳 |\n","methods":{"stopPropagation":{"name":"#### stopPropagation() @stoppropagation","description":"阻止当前事件的进一步传播","param":"","returnValue":"","compatibility":"##### stopPropagation 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n","tutorial":""},"preventDefault":{"name":"#### preventDefault() @preventdefault","description":"阻止当前事件的默认行为
","param":"","returnValue":"","compatibility":"##### preventDefault 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | x |\n","tutorial":""}},"compatibility":"### CustomEvent 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"MouseEvent":{"name":"## MouseEvent","description":"","extends":"","param":"\n### MouseEvent 的属性值 @mouseevent-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| clientX | number | 是 | - | - | 相对于页面可显示区域左边的距离 |\n| clientY | number | 是 | - | - | 相对于页面可显示区域顶部的距离 |\n| x | number | 是 | - | - | 相对于页面可显示区域左边的距离,同`clientX` |\n| y | number | 是 | - | - | 相对于页面可显示区域顶部的距离,同`clientY` |\n| pageX | number | 是 | - | - | 相对于文档左边的距离 |\n| pageY | number | 是 | - | - | 相对于文档顶部的距离 |\n| screenX | number | 是 | - | - | 相对于屏幕左边距离 |\n| screenY | number | 是 | - | - | 相对于屏幕顶部的距离 |\n| bubbles | boolean | 是 | - | - | 是否冒泡 |\n| cancelable | boolean | 是 | - | - | 是否可以取消 |\n| type | string | 是 | - | - | 事件类型 |\n| target | [UniElement](/dom/unielement.md) \\| null | 否 | - | | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 |\n| currentTarget | [UniElement](/dom/unielement.md) \\| null | 否 | - | | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 |\n| timeStamp | number | 是 | - | - | 事件发生时的时间戳 |\n","methods":{"stopPropagation":{"name":"#### stopPropagation() @stoppropagation","description":"阻止当前事件的进一步传播","param":"","returnValue":"","compatibility":"##### stopPropagation 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n","tutorial":""},"preventDefault":{"name":"#### preventDefault() @preventdefault","description":"阻止当前事件的默认行为
","param":"","returnValue":"","compatibility":"##### preventDefault 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | x |\n","tutorial":""}},"compatibility":"### MouseEvent 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"TouchEvent":{"name":"## TouchEvent","description":"","extends":"","param":"\n### TouchEvent 的属性值 @touchevent-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| touches | Array\\<**UniTouch**\\> | 是 | - | - | 当前停留在屏幕中的触摸点信息的数组 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| clientX | number | 是 | - | - | 相对于页面可显示区域左边的距离 |\n@| clientY | number | 是 | - | - | 相对于页面可显示区域顶部的距离 |\n@| identifier | number | 是 | - | - | 触摸点的标识符。这个值在这根手指所引发的所有事件中保持一致,直到手指抬起。 |\n@| pageX | number | 是 | - | - | 相对于文档左边的距离 |\n@| pageY | number | 是 | - | - | 相对于文档顶部的距离 |\n@| screenX | number | 是 | - | - | 相对于屏幕左边距离 |\n@| screenY | number | 是 | - | - | 相对于屏幕顶部的距离 |\n@| force | number \\| null | 否 | - | - | 返回当前触摸点按下的压力大小 |\n| changedTouches | Array\\<**UniTouch**\\> | 是 | - | - | 当前变化的触摸点信息的数组 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| clientX | number | 是 | - | - | 相对于页面可显示区域左边的距离 |\n@| clientY | number | 是 | - | - | 相对于页面可显示区域顶部的距离 |\n@| identifier | number | 是 | - | - | 触摸点的标识符。这个值在这根手指所引发的所有事件中保持一致,直到手指抬起。 |\n@| pageX | number | 是 | - | - | 相对于文档左边的距离 |\n@| pageY | number | 是 | - | - | 相对于文档顶部的距离 |\n@| screenX | number | 是 | - | - | 相对于屏幕左边距离 |\n@| screenY | number | 是 | - | - | 相对于屏幕顶部的距离 |\n@| force | number \\| null | 否 | - | - | 返回当前触摸点按下的压力大小 |\n| bubbles | boolean | 是 | - | - | 是否冒泡 |\n| cancelable | boolean | 是 | - | - | 是否可以取消 |\n| type | string | 是 | - | - | 事件类型 |\n| target | [UniElement](/dom/unielement.md) \\| null | 否 | - | | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 |\n| currentTarget | [UniElement](/dom/unielement.md) \\| null | 否 | - | | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 |\n| timeStamp | number | 是 | - | - | 事件发生时的时间戳 |\n","methods":{"stopPropagation":{"name":"#### stopPropagation() @stoppropagation","description":"阻止当前事件的进一步传播","param":"","returnValue":"","compatibility":"##### stopPropagation 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n","tutorial":""},"preventDefault":{"name":"#### preventDefault() @preventdefault","description":"阻止当前事件的默认行为
","param":"","returnValue":"","compatibility":"##### preventDefault 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | x |\n","tutorial":""}},"compatibility":"### TouchEvent 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"UniTouch":{"name":"## UniTouch","description":"","extends":"","param":"\n### UniTouch 的属性值 @unitouch-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| clientX | number | 是 | - | - | 相对于页面可显示区域左边的距离 |\n| clientY | number | 是 | - | - | 相对于页面可显示区域顶部的距离 |\n| identifier | number | 是 | - | - | 触摸点的标识符。这个值在这根手指所引发的所有事件中保持一致,直到手指抬起。 |\n| pageX | number | 是 | - | - | 相对于文档左边的距离 |\n| pageY | number | 是 | - | - | 相对于文档顶部的距离 |\n| screenX | number | 是 | - | - | 相对于屏幕左边距离 |\n| screenY | number | 是 | - | - | 相对于屏幕顶部的距离 |\n| force | number \\| null | 否 | - | - | 返回当前触摸点按下的压力大小 |\n","compatibility":"### UniTouch 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"Touch":{"name":"## Touch","description":"","extends":"","param":"\n### Touch 的属性值 @touch-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| clientX | number | 是 | - | - | 相对于页面可显示区域左边的距离 |\n| clientY | number | 是 | - | - | 相对于页面可显示区域顶部的距离 |\n| identifier | number | 是 | - | - | 触摸点的标识符。这个值在这根手指所引发的所有事件中保持一致,直到手指抬起。 |\n| pageX | number | 是 | - | - | 相对于文档左边的距离 |\n| pageY | number | 是 | - | - | 相对于文档顶部的距离 |\n| screenX | number | 是 | - | - | 相对于屏幕左边距离 |\n| screenY | number | 是 | - | - | 相对于屏幕顶部的距离 |\n| force | number \\| null | 否 | - | - | 返回当前触摸点按下的压力大小 |\n","compatibility":"### Touch 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"UniCustomEvent":{"name":"## UniCustomEvent","description":"","extends":"","param":"\n### 构造函数\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| type | string | 是 | - | - | - |\n| detail | T | 是 | - | - | - |\n\n### 构造函数\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| type | string | 是 | - | - | - |\n| options | any | 是 | - | - | - |\n\n### UniCustomEvent 的属性值 @unicustomevent-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| detail | T | 是 | - | - | - |\n| bubbles | boolean | 是 | - | - | 是否冒泡 |\n| cancelable | boolean | 是 | - | - | 是否可以取消 |\n| type | string | 是 | - | - | 事件类型 |\n| target | [UniElement](/dom/unielement.md) \\| null | 否 | - | | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 |\n| currentTarget | [UniElement](/dom/unielement.md) \\| null | 否 | - | | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 |\n| timeStamp | number | 是 | - | - | 事件发生时的时间戳 |\n","methods":{"stopPropagation":{"name":"#### stopPropagation() @stoppropagation","description":"阻止当前事件的进一步传播","param":"","returnValue":"","compatibility":"##### stopPropagation 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n","tutorial":""},"preventDefault":{"name":"#### preventDefault() @preventdefault","description":"阻止当前事件的默认行为
","param":"","returnValue":"","compatibility":"##### preventDefault 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | x |\n","tutorial":""}},"compatibility":"### UniCustomEvent 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"UniMouseEvent":{"name":"## UniMouseEvent","description":"","extends":"","param":"\n### UniMouseEvent 的属性值 @unimouseevent-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| clientX | number | 是 | - | - | 相对于页面可显示区域左边的距离 |\n| clientY | number | 是 | - | - | 相对于页面可显示区域顶部的距离 |\n| x | number | 是 | - | - | 相对于页面可显示区域左边的距离,同`clientX` |\n| y | number | 是 | - | - | 相对于页面可显示区域顶部的距离,同`clientY` |\n| pageX | number | 是 | - | - | 相对于文档左边的距离 |\n| pageY | number | 是 | - | - | 相对于文档顶部的距离 |\n| screenX | number | 是 | - | - | 相对于屏幕左边距离 |\n| screenY | number | 是 | - | - | 相对于屏幕顶部的距离 |\n| bubbles | boolean | 是 | - | - | 是否冒泡 |\n| cancelable | boolean | 是 | - | - | 是否可以取消 |\n| type | string | 是 | - | - | 事件类型 |\n| target | [UniElement](/dom/unielement.md) \\| null | 否 | - | | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 |\n| currentTarget | [UniElement](/dom/unielement.md) \\| null | 否 | - | | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 |\n| timeStamp | number | 是 | - | - | 事件发生时的时间戳 |\n","methods":{"stopPropagation":{"name":"#### stopPropagation() @stoppropagation","description":"阻止当前事件的进一步传播","param":"","returnValue":"","compatibility":"##### stopPropagation 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n","tutorial":""},"preventDefault":{"name":"#### preventDefault() @preventdefault","description":"阻止当前事件的默认行为
","param":"","returnValue":"","compatibility":"##### preventDefault 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | x |\n","tutorial":""}},"compatibility":"### UniMouseEvent 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"UniTouchEvent":{"name":"## UniTouchEvent","description":"","extends":"","param":"\n### UniTouchEvent 的属性值 @unitouchevent-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| touches | Array\\<**UniTouch**\\> | 是 | - | - | 当前停留在屏幕中的触摸点信息的数组 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| clientX | number | 是 | - | - | 相对于页面可显示区域左边的距离 |\n@| clientY | number | 是 | - | - | 相对于页面可显示区域顶部的距离 |\n@| identifier | number | 是 | - | - | 触摸点的标识符。这个值在这根手指所引发的所有事件中保持一致,直到手指抬起。 |\n@| pageX | number | 是 | - | - | 相对于文档左边的距离 |\n@| pageY | number | 是 | - | - | 相对于文档顶部的距离 |\n@| screenX | number | 是 | - | - | 相对于屏幕左边距离 |\n@| screenY | number | 是 | - | - | 相对于屏幕顶部的距离 |\n@| force | number \\| null | 否 | - | - | 返回当前触摸点按下的压力大小 |\n| changedTouches | Array\\<**UniTouch**\\> | 是 | - | - | 当前变化的触摸点信息的数组 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| clientX | number | 是 | - | - | 相对于页面可显示区域左边的距离 |\n@| clientY | number | 是 | - | - | 相对于页面可显示区域顶部的距离 |\n@| identifier | number | 是 | - | - | 触摸点的标识符。这个值在这根手指所引发的所有事件中保持一致,直到手指抬起。 |\n@| pageX | number | 是 | - | - | 相对于文档左边的距离 |\n@| pageY | number | 是 | - | - | 相对于文档顶部的距离 |\n@| screenX | number | 是 | - | - | 相对于屏幕左边距离 |\n@| screenY | number | 是 | - | - | 相对于屏幕顶部的距离 |\n@| force | number \\| null | 否 | - | - | 返回当前触摸点按下的压力大小 |\n| bubbles | boolean | 是 | - | - | 是否冒泡 |\n| cancelable | boolean | 是 | - | - | 是否可以取消 |\n| type | string | 是 | - | - | 事件类型 |\n| target | [UniElement](/dom/unielement.md) \\| null | 否 | - | | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 |\n| currentTarget | [UniElement](/dom/unielement.md) \\| null | 否 | - | | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 |\n| timeStamp | number | 是 | - | - | 事件发生时的时间戳 |\n","methods":{"stopPropagation":{"name":"#### stopPropagation() @stoppropagation","description":"阻止当前事件的进一步传播","param":"","returnValue":"","compatibility":"##### stopPropagation 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n","tutorial":""},"preventDefault":{"name":"#### preventDefault() @preventdefault","description":"阻止当前事件的默认行为
","param":"","returnValue":"","compatibility":"##### preventDefault 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | x |\n","tutorial":""}},"compatibility":"### UniTouchEvent 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"UniPointerEvent":{"name":"## UniPointerEvent","description":"","extends":"","param":"\n### UniPointerEvent 的属性值 @unipointerevent-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| clientX | number | 是 | - | - | 相对于页面可显示区域左边的距离 |\n| clientY | number | 是 | - | - | 相对于页面可显示区域顶部的距离 |\n| x | number | 是 | - | - | 相对于页面可显示区域左边的距离,同`clientX` |\n| y | number | 是 | - | - | 相对于页面可显示区域顶部的距离,同`clientY` |\n| pageX | number | 是 | - | - | 相对于文档左边的距离 |\n| pageY | number | 是 | - | - | 相对于文档顶部的距离 |\n| screenX | number | 是 | - | - | 相对于屏幕左边距离 |\n| screenY | number | 是 | - | - | 相对于屏幕顶部的距离 |\n| bubbles | boolean | 是 | - | - | 是否冒泡 |\n| cancelable | boolean | 是 | - | - | 是否可以取消 |\n| type | string | 是 | - | - | 事件类型 |\n| target | [UniElement](/dom/unielement.md) \\| null | 否 | - | | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 |\n| currentTarget | [UniElement](/dom/unielement.md) \\| null | 否 | - | | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 |\n| timeStamp | number | 是 | - | - | 事件发生时的时间戳 |\n","methods":{"stopPropagation":{"name":"#### stopPropagation() @stoppropagation","description":"阻止当前事件的进一步传播","param":"","returnValue":"","compatibility":"##### stopPropagation 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n","tutorial":""},"preventDefault":{"name":"#### preventDefault() @preventdefault","description":"阻止当前事件的默认行为
","param":"","returnValue":"","compatibility":"##### preventDefault 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | x |\n","tutorial":""}},"compatibility":"### UniPointerEvent 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"Element":{"name":"## Element","description":"","extends":"","param":"\n### Element 的属性值 @element-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| classList | Array\\ | 是 | - | | 只读属性 获取当前元素的的 class 属性的动态集合。 |\n| firstChild | [UniElement](/dom/unielement.md) \\| null | 否 | - | | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 |\n| lastChild | [UniElement](/dom/unielement.md) \\| null | 否 | - | | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 |\n| parentElement | [UniElement](/dom/unielement.md) \\| null | 否 | - | | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 |\n| previousSibling | [UniElement](/dom/unielement.md) \\| null | 否 | - | | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 |\n| nextElementSibling | [UniElement](/dom/unielement.md) \\| null | 否 | - | | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 |\n| children | Array\\<[UniElement](/dom/unielement.md)\\> | 是 | - | | 只读属性 获取当前元素包含的子元素的集合 |\n| tagName | string | 是 | - | | 只读属性 获取当前元素的标签名 |\n| nodeName | string | 是 | - | | 只读属性 获取当前元素的元素名称 |\n| dataset | Map\\ | 是 | - | | 只读属性 获取元素上自定义数据属性(data-*)的集合 |\n| attributes | Map\\ | 是 | - | | 只读属性 获取元素上所有属性元素的集合 |\n| style | [CSSStyleDeclaration](/dom/cssstyledeclaration.md) | 是 | - | | 只读属性 获取元素的CSS样式对象 |\n| scrollWidth | number | 是 | - | | 只读属性 获取可滚动元素内容的总宽度,仅scroll-view、list-view组件支持,其他组件返回视图宽度 |\n| scrollHeight | number | 是 | - | | 只读属性 获取可滚动元素内容的总高度,仅scroll-view、list-view组件支持,其他组件返回视图高度 |\n| scrollLeft | number | 是 | - | | 获取或修改元素滚动条到元素左边的距离像素数,仅scroll-view、list-view组件支持。其他组件返回0 |\n| scrollTop | number | 是 | - | | 获取或修改元素滚动条到元素顶部的距离像素数,仅scroll-view、list-view组件支持。其他组件返回0 |\n| offsetLeft | number | 是 | - | | 只读属性 元素的左边界偏移值 单位px |\n| offsetTop | number | 是 | - | | 只读属性 元素的顶部边界偏移值 单位px |\n| offsetWidth | number | 是 | - | | 只读属性 元素的布局宽度,宽度包含border、padding的数据值 单位px |\n| offsetHeight | number | 是 | - | | 只读属性 元素的布局高度,高度包含border、padding的数据值 单位px |\n| ext | Map\\ | 是 | - | | 只读属性 扩展属性 |\n","methods":{"takeSnapshot":{"name":"#### takeSnapshot(options) @takesnapshot","description":"对当前组件进行截图,调用此方法会将当前组件(包含子节点)渲染结果导出成图片。
成功会返回图片对应的临时文件路径,目前默认png格式
","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | [TakeSnapshotOptions](#takesnapshotoptions-values) | 是 | - | - | 组件截图的参数对象 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| type | string \\| null | 否 | \"file\" | - | 截图导出类型,目前仅支持 'file' 保存到临时文件目录 |\n@| format | string \\| null | 否 | \"png\" | - | 截图文件格式,目前仅支持 'png' |\n@| success | (res: [TakeSnapshotSuccess](#takesnapshotsuccess-values)) => void \\| null | 否 | - | - | 接口调用成功的回调函数 |\n@| fail | (res: [TakeSnapshotFail](#takesnapshotfail-values)) => void \\| null | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (res: any) => void \\| null | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n##### TakeSnapshotSuccess 的属性值 @takesnapshotsuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| tempFilePath | string | 是 | - | - | 截图保存的临时文件路径 |\n\n##### TakeSnapshotFail 的属性值 @takesnapshotfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","compatibility":"##### takeSnapshot 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.03 | 4.11 |\n","tutorial":""},"appendChild":{"name":"#### appendChild(aChild) @appendchild","description":"将一个元素添加到指定父元素的子元素列表的末尾处。如果将被插入的元素已经存在于当前文档的文档树中,那么将会它从原先的位置移动到新的位置。","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| aChild | [UniElement](/dom/unielement.md) | 是 | - | | 插入子元素对象 | \n","returnValue":"","compatibility":"##### appendChild 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""},"insertBefore":{"name":"#### insertBefore(newChild, refChild?) @insertbefore","description":"在参考元素之前插入一个拥有指定父元素的子元素。如果给定的子元素是对文档中现有元素的引用,insertBefore() 会将其从当前位置移动到新位置。","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| newChild | [UniElement](/dom/unielement.md) | 是 | - | | 插入子元素对象 |\n| refChild | [UniElement](/dom/unielement.md) \\| null | 否 | - | | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 | \n","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| [UniElement](/dom/unielement.md) \\| null | 否 |\n \n","compatibility":"##### insertBefore 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""},"setAttribute":{"name":"#### setAttribute(key, value) @setattribute","description":"设置指定元素上的某个属性值。如果设置的属性已经存在,则更新该属性值;否则使用指定的名称和值添加一个新的属性。","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| key | string | 是 | - | - | 属性名称 |\n| value | string | 是 | - | - | 属性值域 | \n","returnValue":"","compatibility":"##### setAttribute 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""},"getAttribute":{"name":"#### getAttribute(key) @getattribute","description":"获取元素指定的属性值,如果指定的属性不存在则返回null。","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| key | string | 是 | - | - | 属性名称 | \n","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| string \\| null | 否 |\n \n","compatibility":"##### getAttribute 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""},"hasAttribute":{"name":"#### hasAttribute(key) @hasattribute","description":"返回改元素是否包含有指定的属性,属性存在则返回true,否则返回false。","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| key | string | 是 | - | - | 属性名称 | \n","returnValue":"##### 返回值 \n\n| 类型 |\n| :- |\n| boolean |\n \n","compatibility":"##### hasAttribute 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""},"removeAttribute":{"name":"#### removeAttribute(key) @removeattribute","description":"从元素中删除一个属性,如果指定的属性不存在,则不做任何操作,也不会产生错误。","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| key | string | 是 | - | - | 属性名称 | \n","returnValue":"","compatibility":"##### removeAttribute 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""},"getBoundingClientRect":{"name":"#### getBoundingClientRect() @getboundingclientrect","description":"获取元素的大小及其相对于窗口的位置信息。","param":"","returnValue":"##### 返回值 \n\n| 类型 |\n| :- |\n| [DOMRect](/dom/domrect.md) |\n \n","compatibility":"##### getBoundingClientRect 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""},"getDrawableContext":{"name":"#### getDrawableContext() @getdrawablecontext","description":"获取组件的绘制对象,仅uvue页面中的 view 组件支持,其它组件不支持则返回null。","param":"","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| [DrawableContext](/dom/drawablecontext.md) \\| null | 否 |\n \n","compatibility":"##### getDrawableContext 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.0 | 4.11 |\n","tutorial":""},"addEventListener":{"name":"#### addEventListener(type, callback) @addeventlistener","description":"将指定的监听器注册到元素对象上,当该对象触发指定的事件时,指定的回调函数就会被执行。","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| type | string | 是 | - | - | 事件类型 |\n| callback | (event: T) => R | 是 | - | - | 事件监听器 T表示event类型,R表示返回值类型 | \n","returnValue":"##### 返回值 \n\n| 类型 |\n| :- |\n| UniCallbackWrapper |\n \n","compatibility":"##### addEventListener 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.0 | 4.11 |\n","tutorial":""},"removeEventListener":{"name":"#### removeEventListener(type, callbackWrapper) @removeeventlistener","description":"删除使用 addEventListener 方法添加的事件监听器。","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| type | string | 是 | - | - | 事件类型 |\n| callbackWrapper | UniCallbackWrapper | 是 | - | - | 事件监听回调封装类 | \n","returnValue":"","compatibility":"##### removeEventListener 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.0 | 4.11 |\n","tutorial":""},"removeChild":{"name":"#### removeChild(aChild) @removechild","description":"从元素中删除一个子元素,返回删除的元素。","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| aChild | [UniElement](/dom/unielement.md) | 是 | - | | 被删除子元素对象 | \n","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| [UniElement](/dom/unielement.md) \\| null | 否 |\n \n","compatibility":"##### removeChild 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""},"remove":{"name":"#### remove() @remove","description":"把元素对象从它所属的 DOM 树中删除。","param":"","returnValue":"","compatibility":"##### remove 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""},"dispatchEvent":{"name":"#### dispatchEvent(type, value) @dispatchevent","description":"向一个指定的事件目标派发一个 Event,并以合适的顺序(同步地)调用此事件的监听器回调函数。","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| type | string | 是 | - | - | 事件类型 |\n| value | [UniEvent](/component/common#unievent) | 是 | - | - | 事件返回对象 | \n","returnValue":"","compatibility":"##### dispatchEvent 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""},"scrollTo":{"name":"#### scrollTo(x, y) @scrollto","description":"使界面滚动到给定元素的指定坐标位置 仅scroll-view、list-view组件支持","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | x轴要滚动到坐标位置(单位px) |\n| y | number | 是 | - | - | y轴要滚动到坐标位置(单位px) | \n","returnValue":"","compatibility":"##### scrollTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""},"scrollBy":{"name":"#### scrollBy(x, y) @scrollby","description":"使得元素滚动一段特定距离 仅scroll-view、list-view组件支持","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | x轴要滚动的距离(单位px) |\n| y | number | 是 | - | - | y轴要滚动的距离(单位px) | \n","returnValue":"","compatibility":"##### scrollBy 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""},"querySelector":{"name":"#### querySelector(selector) @queryselector","description":"返回文档中与指定选择器或选择器组匹配的第一个 Element对象。如果找不到匹配项,则返回null","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| selector | [string.cssSelectorString](/uts/data-type.md#ide-string) | 是 | - | - | CSS 选择器字符串 | \n","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| [UniElement](/dom/unielement.md) \\| null | 否 |\n \n","compatibility":"##### querySelector 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""},"querySelectorAll":{"name":"#### querySelectorAll(selector) @queryselectorall","description":"返回与指定的选择器组匹配的文档中的元素列表","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| selector | [string.cssSelectorString](/uts/data-type.md#ide-string) | 是 | - | - | CSS 选择器字符串 | \n","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| Array\\<[UniElement](/dom/unielement.md)\\> \\| null | 否 |\n \n","compatibility":"##### querySelectorAll 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""},"focus":{"name":"#### focus() @focus","description":"使元素获取焦点 仅input、Textarea组件支持","param":"","returnValue":"","compatibility":"##### focus 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""},"blur":{"name":"#### blur() @blur","description":"使元素丢失焦点 仅input、Textarea组件支持","param":"","returnValue":"","compatibility":"##### blur 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""}},"compatibility":"### Element 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"UniResizeObserver":{"name":"## UniResizeObserver","description":"用于监视 UniElement 元素的大小变化。它可以观察一个或多个","extends":"","param":"\n### 构造函数\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (entries: Array\\<**UniResizeObserverEntry**\\>) => void | 是 | - | - | 每当监视的元素调整大小时,回调该函数 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| borderBoxSize | Array\\<**UniBorderBoxSize**\\> | 是 | - | | 只读属性 包含被监视的元素带有边框box大小的数组。 |\n@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@| :- | :- | :- | :- | :-: | :- |\n@@| blockSize | number | 是 | - | - | 只读属性,被监视元素含边框box的高度 |\n@@| inlineSize | number | 是 | - | - | 只读属性,被监视元素含边框box的宽度 |\n@| contentBoxSize | Array\\<**UniContentBoxSize**\\> | 是 | - | | 只读属性 包含被监视的元素内容box大小的数组。 |\n@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@| :- | :- | :- | :- | :-: | :- |\n@@| blockSize | number | 是 | - | - | 只读属性,被监视元素内容box的高度 |\n@@| inlineSize | number | 是 | - | - | 只读属性,被监视元素内容box的宽度 |\n@| devicePixelContentBoxSize | Array\\<**UniDevicePixelContentBoxSize**\\> | 是 | - | | 只读属性 包含被监视的元素内容box设备像素大小的数组。 |\n@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@| :- | :- | :- | :- | :-: | :- |\n@@| blockSize | number | 是 | - | - | 只读属性,被监视元素内容box的设备像素高度 |\n@@| inlineSize | number | 是 | - | - | 只读属性,被监视元素内容box的设备像素宽度 |\n@| contentRect | [DOMRect](/dom/domrect.md) | 是 | - | | 只读属性 包含被监视元素大小的DOMRect |\n@| target | [UniElement](/dom/unielement.md) | 是 | - | | 只读属性 被监视的 UniElement |\n\n### 构造函数\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (entries: Array\\<**UniResizeObserverEntry**\\>, observer: [UniResizeObserver](/dom/uniresizeobserver.md)) => void | 是 | - | - | 每当监视的元素调整大小时,回调该函数 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| borderBoxSize | Array\\<**UniBorderBoxSize**\\> | 是 | - | | 只读属性 包含被监视的元素带有边框box大小的数组。 |\n@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@| :- | :- | :- | :- | :-: | :- |\n@@| blockSize | number | 是 | - | - | 只读属性,被监视元素含边框box的高度 |\n@@| inlineSize | number | 是 | - | - | 只读属性,被监视元素含边框box的宽度 |\n@| contentBoxSize | Array\\<**UniContentBoxSize**\\> | 是 | - | | 只读属性 包含被监视的元素内容box大小的数组。 |\n@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@| :- | :- | :- | :- | :-: | :- |\n@@| blockSize | number | 是 | - | - | 只读属性,被监视元素内容box的高度 |\n@@| inlineSize | number | 是 | - | - | 只读属性,被监视元素内容box的宽度 |\n@| devicePixelContentBoxSize | Array\\<**UniDevicePixelContentBoxSize**\\> | 是 | - | | 只读属性 包含被监视的元素内容box设备像素大小的数组。 |\n@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@| :- | :- | :- | :- | :-: | :- |\n@@| blockSize | number | 是 | - | - | 只读属性,被监视元素内容box的设备像素高度 |\n@@| inlineSize | number | 是 | - | - | 只读属性,被监视元素内容box的设备像素宽度 |\n@| contentRect | [DOMRect](/dom/domrect.md) | 是 | - | | 只读属性 包含被监视元素大小的DOMRect |\n@| target | [UniElement](/dom/unielement.md) | 是 | - | | 只读属性 被监视的 UniElement |\n","methods":{"disconnect":{"name":"#### disconnect() @disconnect","description":"取消所有的对 UniElement 目标的监视","param":"","returnValue":"","compatibility":"##### disconnect 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.17 | 4.13 | 4.18 |\n","tutorial":""},"observe":{"name":"#### observe(target) @observe","description":"监视指定 UniElement 大小变化","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| target | [UniElement](/dom/unielement.md) | 是 | - | | 被监视的 UniElement | \n","returnValue":"","compatibility":"##### observe 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.17 | 4.13 | 4.18 |\n","tutorial":""},"unobserve":{"name":"#### unobserve(target) @unobserve","description":"结束对指定的 UniElement 的监视","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| target | [UniElement](/dom/unielement.md) | 是 | - | | 取消监视的 UniElement | \n","returnValue":"","compatibility":"##### unobserve 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.17 | 4.13 | 4.18 |\n","tutorial":""}},"compatibility":"### UniResizeObserver 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| 4.17 | 4.13 | 4.18 |","example":"### 示例 \n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha/pages/API/resize-observer/resize-observer.uvue) \n ::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/resize-observer/resize-observer\n>Template\n```vue\n\r\n\r\n\r\n\r\n\n\n```\n>Script\n```uts\n\r\n export default {\r\n data() {\r\n return {\r\n outBoxSizeInfo: \"\",\r\n innerBoxSizeInfo: \"\",\r\n offset: 2,\r\n boxDisplay: false,\r\n outBoxElement: null as UniElement | null,\r\n innerBoxElement: null as UniElement | null,\r\n resizeObserver: null as UniResizeObserver | null,\r\n outBoxElementOnResize: false\r\n }\r\n },\r\n onBackPress() : boolean {\r\n if (this.resizeObserver != null) {\r\n this.resizeObserver!.disconnect()\r\n }\r\n return false\r\n },\r\n onReady() {\r\n if (this.resizeObserver == null) {\r\n this.resizeObserver = new UniResizeObserver((entries : Array) => {\r\n\r\n entries.forEach(entry => {\r\n if (entry.target == this.outBoxElement) {\r\n this.outBoxSizeInfo = this.analysisResizeObserverEntry(entry)\r\n this.outBoxElementOnResize = true\r\n } else if (entry.target == this.innerBoxElement) {\r\n this.innerBoxSizeInfo = this.analysisResizeObserverEntry(entry)\r\n }\r\n })\r\n })\r\n this.outBoxElement = uni.getElementById(\"outBox\")\r\n if (this.outBoxElement != null) {\r\n this.resizeObserver!.observe(this.outBoxElement!)\r\n }\r\n this.innerBoxElement = uni.getElementById(\"innerBox\")\r\n if (this.innerBoxElement != null) {\r\n this.resizeObserver!.observe(this.innerBoxElement!)\r\n }\r\n this.boxDisplay = true\r\n }\r\n },\r\n methods: {\r\n innerBoxClick() {\r\n if (this.innerBoxElement != null) {\r\n this.innerBoxElement!.style.setProperty(\"width\", this.innerBoxElement!.offsetWidth + this.offset + 'px')\r\n this.innerBoxElement!.style.setProperty(\"height\", this.innerBoxElement!.offsetWidth + this.offset + 'px')\r\n }\r\n },\r\n outBoxClick() {\r\n if (this.outBoxElement != null) {\r\n this.outBoxElement!.style.setProperty(\"width\", this.outBoxElement!.offsetWidth + this.offset + 'px')\r\n this.outBoxElement!.style.setProperty(\"height\", this.outBoxElement!.offsetWidth + this.offset + 'px')\r\n }\r\n },\r\n revertBoxSize() {\r\n if (this.outBoxElement != null) {\r\n this.outBoxElement!.style.setProperty(\"width\", \"140px\")\r\n this.outBoxElement!.style.setProperty(\"height\", \"140px\")\r\n }\r\n if (this.innerBoxElement != null) {\r\n this.innerBoxElement!.style.setProperty(\"width\", \"80px\")\r\n this.innerBoxElement!.style.setProperty(\"height\", \"80px\")\r\n }\r\n },\r\n //自动化测试专用\r\n setOutBoxMarginLeft(value : string) {\r\n if (this.outBoxElement != null) {\r\n this.outBoxElementOnResize = false\r\n this.outBoxElement!.style.setProperty(\"margin-left\", value)\r\n }\r\n },\r\n toggleDisplay() {\r\n this.boxDisplay = !this.boxDisplay\r\n },\r\n analysisResizeObserverEntry(entry : UniResizeObserverEntry) : string {\r\n const contentBoxSize = entry.contentBoxSize[0]\r\n const borderBoxSize = entry.borderBoxSize[0]\r\n const devicePixelContentBoxSize = entry.devicePixelContentBoxSize[0]\r\n return \"borderBoxSize: \\n{blockSize:\" + borderBoxSize.blockSize + \", inlineSize:\" + borderBoxSize.inlineSize + \"}\\n\" +\r\n \"contentBoxSize: \\n{blockSize:\" + contentBoxSize.blockSize + \", inlineSize:\" + contentBoxSize.inlineSize + \"}\\n\" +\r\n \"devicePixelContentBoxSize: \\n{blockSize:\" + devicePixelContentBoxSize.blockSize + \", inlineSize:\" + devicePixelContentBoxSize.inlineSize + \"}\\n\" +\r\n \"contentRect: \\n{x:\" + entry.contentRect.x + \", y:\" + entry.contentRect.y + \", width:\" + entry.contentRect.width + \", height:\" + entry.contentRect.height + \"}\"\r\n },\n cancelListen(){\n // this.resizeObserver?.unobserve()\n this.resizeObserver!.unobserve(this.outBoxElement!)\n this.resizeObserver!.unobserve(this.innerBoxElement!)\n },\n goOnListen(){\n this.resizeObserver!.observe(this.outBoxElement!)\n this.resizeObserver!.observe(this.innerBoxElement!)\n }\r\n }\r\n }\r\n\n```\n:::"},"UniResizeObserverEntry":{"name":"## UniResizeObserverEntry","description":"UniResizeObserverEntry 接口是传递给 UniResizeObserver() 构造函数中的回调函数参数的对象","extends":"","param":"\n### UniResizeObserverEntry 的属性值 @uniresizeobserverentry-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| borderBoxSize | Array\\<**UniBorderBoxSize**\\> | 是 | - | | 只读属性 包含被监视的元素带有边框box大小的数组。 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| blockSize | number | 是 | - | - | 只读属性,被监视元素含边框box的高度 |\n@| inlineSize | number | 是 | - | - | 只读属性,被监视元素含边框box的宽度 |\n| contentBoxSize | Array\\<**UniContentBoxSize**\\> | 是 | - | | 只读属性 包含被监视的元素内容box大小的数组。 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| blockSize | number | 是 | - | - | 只读属性,被监视元素内容box的高度 |\n@| inlineSize | number | 是 | - | - | 只读属性,被监视元素内容box的宽度 |\n| devicePixelContentBoxSize | Array\\<**UniDevicePixelContentBoxSize**\\> | 是 | - | | 只读属性 包含被监视的元素内容box设备像素大小的数组。 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| blockSize | number | 是 | - | - | 只读属性,被监视元素内容box的设备像素高度 |\n@| inlineSize | number | 是 | - | - | 只读属性,被监视元素内容box的设备像素宽度 |\n| contentRect | [DOMRect](/dom/domrect.md) | 是 | - | | 只读属性 包含被监视元素大小的DOMRect |\n| target | [UniElement](/dom/unielement.md) | 是 | - | | 只读属性 被监视的 UniElement |\n","compatibility":"### UniResizeObserverEntry 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |"},"UniBorderBoxSize":{"name":"## UniBorderBoxSize","description":"被监视的元素带有边框box的大小","extends":"","param":"\n### UniBorderBoxSize 的属性值 @uniborderboxsize-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| blockSize | number | 是 | - | - | 只读属性,被监视元素含边框box的高度 |\n| inlineSize | number | 是 | - | - | 只读属性,被监视元素含边框box的宽度 |\n","compatibility":"### UniBorderBoxSize 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |"},"UniContentBoxSize":{"name":"## UniContentBoxSize","description":"被监视的元素内容box的大小","extends":"","param":"\n### UniContentBoxSize 的属性值 @unicontentboxsize-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| blockSize | number | 是 | - | - | 只读属性,被监视元素内容box的高度 |\n| inlineSize | number | 是 | - | - | 只读属性,被监视元素内容box的宽度 |\n","compatibility":"### UniContentBoxSize 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |"},"UniDevicePixelContentBoxSize":{"name":"## UniDevicePixelContentBoxSize","description":"被监视的元素内容box的设备像素大小","extends":"","param":"\n### UniDevicePixelContentBoxSize 的属性值 @unidevicepixelcontentboxsize-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| blockSize | number | 是 | - | - | 只读属性,被监视元素内容box的设备像素高度 |\n| inlineSize | number | 是 | - | - | 只读属性,被监视元素内容box的设备像素宽度 |\n","compatibility":"### UniDevicePixelContentBoxSize 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |"},"UniError":{"name":"## UniError","description":"uni api统一错误信息对象 ","extends":"","param":"\n### 构造函数\n### 构造函数\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| message | string | 是 | - | - | 统一错误描述信息 |\n\n### 构造函数\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| message | string | 是 | - | - | 统一错误描述信息 |\n| options | [UTSJSONObject](/uts/buildin-object-api/utsjsonobject.md) | 是 | - | - | 源错误对象,原始错误对象应该包含在 options.cause 属性中 |\n\n### 构造函数\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| errCode | number | 是 | - | - | 统一错误码 |\n| errMsg | string | 是 | - | - | 统一错误描述信息 |\n\n### UniError 的属性值 @unierror-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| errCode | number | 是 | - | - | 统一错误码 |\n| errMsg | string | 是 | - | - | 统一错误描述信息 |\n| data | any \\| null | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) \\| null | 否 | - | - | UTS错误信息对象 |\n| name | string | 是 | - | - | - |\n| message | string | 是 | - | - | - |\n","compatibility":"### UniError 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"Error":{"name":"## Error","description":"UTS错误信息对象","extends":"","param":"\n### 构造函数\n### 构造函数\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| message | string | 是 | - | - | - |\n\n### 构造函数\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| message | string | 是 | - | - | - |\n| options | [UTSJSONObject](/uts/buildin-object-api/utsjsonobject.md) | 是 | - | - | - |\n\n### Error 的属性值 @error-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| name | string | 是 | - | - | - |\n| message | string | 是 | - | - | - |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) \\| null | 否 | - | - | UTS错误信息对象 |\n","compatibility":"### Error 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"general-attribute":{"name":"组件公共属性","description":"","attribute":"| 名称 | 类型 | 描述 |\n| :- | :- | :- |\n| id | string(string.IDString) | 组件的唯一标识,一般用于获取组件上下文对象 |\n| style | string | 组件的内联样式,可以动态设置的内联样式 |\n| class | string(string.ClassString) | 组件的样式类,在对应的 css 中定义的样式类 |\n| ref | string | vue中组件的唯一标识,用来给子组件注册引用信息 |\n| data-* | any | 自定义属性,组件上触发的事件时,会发送给事件处理函数 |\n| android-* | any | App-Android平台专有属性,详见[App-Android平台专有属性](https://doc.dcloud.net.cn/uni-app-x/component/common.html#attribute-android)章节 |","compatibility":"| | Web | Android | iOS |\n| :- | :- | :- | :- |\n| id | 4.0 | 3.9 | 4.11 |\n| style | 4.0 | 3.9 | 4.11 |\n| class | 4.0 | 3.9 | 4.11 |\n| ref | 4.0 | 3.9 | 4.11 |\n| data-* | 4.0 | 3.9 | 4.11 |\n| android-* | 4.0 | 3.9 | x |","example":"### 示例 \n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha/pages/component/general-attribute/general-attribute.uvue) \n ::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/component/general-attribute/general-attribute\n>Template\n```vue\n\n\n\n\n\n\n```\n>Script\n```uts\n\nexport default {\n data() {\n return {\n title: 'general-attribute',\n generalId: 'general-id',\n generalClass: 'general-class',\n generalName: 'general-name',\n generalTitle: 'general-title',\n generalData: 'general-data',\n generalStyle: 'background-color: aqua',\n validateGeneralAttrText: '验证基础属性',\n hoverClass: 'hover-class',\n validateViewAttrText: '验证 view 属性',\n changeHeightByRefText: '通过 ref 修改高度',\n }\n },\n methods: {\n validateGeneralAttributes() {\n const generalTarget = this.$refs['general-target'] as UniElement\n const generalId = generalTarget.getAttribute('id')\n if (generalId != this.generalId) {\n this.validateGeneralAttrText = '基础属性 id 验证失败'\n return\n }\n // #ifdef APP\n if (!generalTarget.classList.includes('general-class')) {\n // #endif\n // #ifdef WEB\n if (!Array.from(generalTarget.classList).includes('general-class')) {\n // #endif\n this.validateGeneralAttrText = '基础属性 class 验证失败'\n return\n }\n const generalName = generalTarget.getAttribute('name')\n if (generalName != this.generalName) {\n this.validateGeneralAttrText = '基础属性 name 验证失败'\n return\n }\n const generalTitle = generalTarget.getAttribute('title')\n if (generalTitle != this.generalTitle) {\n this.validateGeneralAttrText = '基础属性 title 验证失败'\n return\n }\n const generalData = generalTarget.getAttribute('data-test')\n if (generalData != this.generalData) {\n this.validateGeneralAttrText = '基础属性 data-test 验证失败'\n return\n }\n this.validateGeneralAttrText = '基础属性验证成功'\n },\n changeHeight(){\n const generalTarget = this.$refs['general-target'] as UniElement\n this.changeHeightByRefText = '已通过 ref 修改高度'\n generalTarget.style.setProperty('height', '200px')\n }\n },\n}\n\n```\n:::"},"general-event":{"name":"组件公共事件","description":"","attribute":"| 名称 | 类型 | 描述 |\n| :- | :- | :- |\n| @click | (event: [UniPointerEvent](/component/common#unipointerevent)) => void | 手指触摸后马上离开。与tap相同,(推荐使用tap事件代替),冒泡事件 |\n| @mousedown | (event: [UniMouseEvent](/component/common#unimouseevent)) => void | 鼠标在元素上点击后触发 |\n| @mousemove | (event: [UniMouseEvent](/component/common#unimouseevent)) => void | 鼠标在元素上移动时触发 |\n| @mouseup | (event: [UniMouseEvent](/component/common#unimouseevent)) => void | 鼠标主按钮在元素上松开时触发 |\n| @touchstart | (event: [UniTouchEvent](/component/common#unitouchevent)) => void | 手指触摸动作开始,冒泡事件,event.type 值为 touchstart |\n| @touchmove | (event: [UniTouchEvent](/component/common#unitouchevent)) => void | 手指触摸后移动,冒泡事件,event.type 值为 touchmove |\n| @touchcancel | (event: [UniTouchEvent](/component/common#unitouchevent)) => void | 手指触摸动作被打断,如来电提醒,弹窗,冒泡事件,event.type 值为 touchcancel |\n| @touchend | (event: [UniTouchEvent](/component/common#unitouchevent)) => void | 手指触摸动作结束,冒泡事件,event.type 值为 touchend |\n| @tap | (event: [UniPointerEvent](/component/common#unipointerevent)) => void | 手指触摸后马上离开,冒泡事件 |\n| @longpress | (event: [UniTouchEvent](/component/common#unitouchevent)) => void | 如果一个组件被绑定了 longpress 事件,那么当用户手指触摸后,超过350ms再离开会触发,冒泡事件 |\n| @longtap | (event: [UniTouchEvent](/component/common#unitouchevent)) => void | 手指触摸后,超过350ms再离开(推荐使用 longpress 事件代替) |\n| @transitionend | (event: [UniEvent](/component/common#unievent)) => void | transition 效果结束时触发 |","compatibility":"| | Web | Android | iOS |\n| :- | :- | :- | :- |\n| @click | 4.0 | 3.9 | 4.11 |\n| @mousedown | 4.0 | x | x |\n| @mousemove | 4.0 | x | x |\n| @mouseup | 4.0 | x | x |\n| @touchstart | 4.0 | 3.9 | 4.11 |\n| @touchmove | 4.0 | 3.9 | 4.11 |\n| @touchcancel | 4.0 | 3.9 | 4.11 |\n| @touchend | 4.0 | 3.9 | 4.11 |\n| @tap | 4.0 | 3.9 | 4.11 |\n| @longpress | 4.0 | 3.9 | 4.11 |\n| @longtap | 4.0 | 3.9 | 4.11 |\n| @transitionend | 4.0 | 3.93 | 4.11 |","example":"### 示例 \n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha/pages/component/general-event/general-event.uvue) \n ::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/component/general-event/general-event\n>Template\n```vue\n\n changedTouches: \n \n touch[{{ index }}]:\n \n identifier: \n {{\n touch.identifier\n }}\n \n \n pageX: \n {{ touch.pageX }}\n \n \n pageY: \n {{ touch.pageY }}\n \n \n clientX: \n {{\n touch.clientX\n }}\n \n \n clientY: \n {{\n touch.clientY\n }}\n \n \n screenX: \n {{\n touch.screenX\n }}\n \n \n screenY: \n {{\n touch.screenY\n }}\n \n \n \n \n touchCancel Event: \n touches: \n \n touch[{{ index }}]:\n \n identifier: \n {{\n touch.identifier\n }}\n \n \n pageX: \n {{ touch.pageX }}\n \n \n pageY: \n {{ touch.pageY }}\n \n \n clientX: \n {{ touch.clientX }}\n \n \n clientY: \n {{ touch.clientY }}\n \n \n screenX: \n {{ touch.screenX }}\n \n \n screenY: \n {{ touch.screenY }}\n \n \n changedTouches: \n \n touch[{{ index }}]:\n \n identifier: \n {{\n touch.identifier\n }}\n \n \n pageX: \n {{\n touch.pageX\n }}\n \n \n pageY: \n {{\n touch.pageY\n }}\n \n \n clientX: \n {{\n touch.clientX\n }}\n \n \n clientY: \n {{\n touch.clientY\n }}\n \n \n screenX: \n {{\n touch.screenX\n }}\n \n \n screenY: \n {{\n touch.screenY\n }}\n \n \n \n \n touchMove Event: \n touches: \n \n touch[{{ index }}]:\n \n identifier: \n {{ touch.identifier }}\n \n \n pageX: \n {{ touch.pageX }}\n \n \n pageY: \n {{ touch.pageY }}\n \n \n clientX: \n {{ touch.clientX }}\n \n \n clientY: \n {{ touch.clientY }}\n \n \n screenX: \n {{ touch.screenX }}\n \n \n screenY: \n {{ touch.screenY }}\n \n \n changedTouches: \n \n touch[{{ index }}]:\n \n identifier: \n {{\n touch.identifier\n }}\n \n \n pageX: \n {{ touch.pageX }}\n \n \n pageY: \n {{ touch.pageY }}\n \n \n clientX: \n {{\n touch.clientX\n }}\n \n \n clientY: \n {{\n touch.clientY\n }}\n \n \n screenX: \n {{\n touch.screenX\n }}\n \n \n screenY: \n {{\n touch.screenY\n }}\n \n \n \n \n touchEnd Event: \n touches: \n 0\"\n v-for=\"(touch, index) in touchEndEvent!.touches\"\n :key=\"index\"\n >\n touch[{{ index }}]:\n \n identifier: \n {{ touch.identifier }}\n \n \n pageX: \n {{ touch.pageX }}\n \n \n pageY: \n {{ touch.pageY }}\n \n \n clientX: \n {{ touch.clientX }}\n \n \n clientY: \n {{ touch.clientY }}\n \n \n screenX: \n {{ touch.screenX }}\n \n \n screenY: \n {{ touch.screenY }}\n \n \n changedTouches: \n \n touch[{{ index }}]:\n \n identifier: \n {{\n touch.identifier\n }}\n \n \n pageX: \n {{ touch.pageX }}\n \n \n pageY: \n {{ touch.pageY }}\n \n \n clientX: \n {{\n touch.clientX\n }}\n \n \n clientY: \n {{\n touch.clientY\n }}\n \n \n screenX: \n {{\n touch.screenX\n }}\n \n \n screenY: \n {{\n touch.screenY\n }}\n \n \n \n \n longPress Event: \n touches: \n 0\"\n v-for=\"(touch, index) in longPressEvent!.touches\"\n :key=\"index\"\n >\n touch[{{ index }}]:\n \n identifier: \n {{ touch.identifier }}\n \n \n pageX: \n {{ touch.pageX }}\n \n \n pageY: \n {{ touch.pageY }}\n \n \n clientX: \n {{ touch.clientX }}\n \n \n clientY: \n {{ touch.clientY }}\n \n \n screenX: \n {{ touch.screenX }}\n \n \n screenY: \n {{ touch.screenY }}\n \n \n changedTouches: \n \n touch[{{ index }}]:\n \n identifier: \n {{\n touch.identifier\n }}\n \n \n pageX: \n {{ touch.pageX }}\n \n \n pageY: \n {{ touch.pageY }}\n \n \n clientX: \n {{\n touch.clientX\n }}\n \n \n clientY: \n {{\n touch.clientY\n }}\n \n \n screenX: \n {{\n touch.screenX\n }}\n \n \n screenY: \n {{\n touch.screenY\n }}\n \n \n \n \n tap Event: \n \n x: \n {{ tapEvent!.x }}\n \n \n y: \n {{ tapEvent!.y }}\n \n \n \n click Event: \n \n x: \n {{ clickEvent!.x }}\n \n \n y: \n {{ clickEvent!.y }}\n \n \n \n \n \n \n\n\n\n\n\n```\n>Script\n```uts\n\nexport default {\n data() {\n return {\n title: 'general-event',\n touchStartEvent: null as TouchEvent | null,\n touchCancelEvent: null as TouchEvent | null,\n touchMoveEvent: null as TouchEvent | null,\n longPressEvent: null as TouchEvent | null,\n touchEndEvent: null as TouchEvent | null,\n tapEvent: null as PointerEvent | null,\n clickEvent: null as PointerEvent | null,\n }\n },\n methods: {\n onTouchStart(e : TouchEvent) {\n this.touchStartEvent = e\n console.log('onTouchStart', e)\n },\n onTouchCancel(e : TouchEvent) {\n this.touchCancelEvent = e\n console.log('onTouchCancel')\n },\n onTouchMove(e : TouchEvent) {\n this.touchMoveEvent = e\n console.log('onTouchMove', e)\n },\n onLongPress(e : TouchEvent) {\n this.longPressEvent = e\n console.log('onLongPress', e)\n },\n onTouchEnd(e : TouchEvent) {\n this.touchEndEvent = e\n console.log('onTouchEnd', e)\n },\n onTap(e : PointerEvent) {\n this.tapEvent = e\n console.log('onTap', e)\n },\n onClick(e : PointerEvent) {\n this.clickEvent = e\n console.log('onClick', e)\n },\n },\n}\n\n```\n:::"}} \ No newline at end of file +{"Event":{"name":"## Event","description":"","extends":"","param":"\n### 构造函数\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| type | string | 是 | - | - | 事件的名称 |\n\n### 构造函数\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| type | string | 是 | - | - | 事件的名称 |\n| eventInit | [UTSJSONObject](/uts/buildin-object-api/utsjsonobject.md) | 是 | - | - | 事件初始参数。支持字段:`bubbles`表明该事件是否冒泡。可选,默认为false;`cancelable`表明该事件是否可以被取消。可选,默认为false。 |\n\n### Event 的属性值 @event-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| bubbles | boolean | 是 | - | - | 是否冒泡 |\n| cancelable | boolean | 是 | - | - | 是否可以取消 |\n| type | string | 是 | - | - | 事件类型 |\n| target | [UniElement](/dom/unielement.md) \\| null | 否 | - | | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 |\n| currentTarget | [UniElement](/dom/unielement.md) \\| null | 否 | - | | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 |\n| timeStamp | number | 是 | - | - | 事件发生时的时间戳 |\n","methods":{"stopPropagation":{"name":"#### stopPropagation() @stoppropagation","description":"阻止当前事件的进一步传播","param":"","returnValue":"","compatibility":"##### stopPropagation 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n","tutorial":""},"preventDefault":{"name":"#### preventDefault() @preventdefault","description":"阻止当前事件的默认行为
","param":"","returnValue":"","compatibility":"##### preventDefault 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | x |\n","tutorial":""}},"compatibility":"### Event 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"UTSJSONObject":{"name":"## UTSJSONObject","description":"","extends":"","param":"","methods":{"get":{"name":"#### get(key) @get","description":"获取一个 属性,返回类型是any 或者 null","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| key | string | 是 | - | - | - | \n","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| any \\| null | 否 |\n \n","compatibility":"##### get 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","tutorial":"\n##### 参见\n- [参见uni-app相关文档](https://uniapp.dcloud.net.cn/uts/buildin-object-api/UTSJSONObject.html#get)\n"},"set":{"name":"#### set(key, value) @set","description":"获取一个 属性,返回类型是any 或者 null","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| key | string | 是 | - | - | - |\n| value | any | 是 | - | - | - | \n","returnValue":"","compatibility":"##### set 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","tutorial":"\n##### 参见\n- [参见uni-app相关文档](https://uniapp.dcloud.net.cn/uts/buildin-object-api/UTSJSONObject.html#set)\n"},"getAny":{"name":"#### getAny(key) @getany","description":"获取一个 属性,返回类型是any 或者 null","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| key | string | 是 | - | - | - | \n","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| any \\| null | 否 |\n \n","compatibility":"##### getAny 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","tutorial":"\n##### 参见\n- [参见uni-app相关文档](https://uniapp.dcloud.net.cn/uts/buildin-object-api/UTSJSONObject.html#getAny)\n"},"getBoolean":{"name":"#### getBoolean(key) @getboolean","description":"获取一个Boolean属性,返回类型是Boolean 或者 null","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| key | string | 是 | - | - | - | \n","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| boolean \\| null | 否 |\n \n","compatibility":"##### getBoolean 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","tutorial":"\n##### 参见\n- [参见uni-app相关文档](https://uniapp.dcloud.net.cn/uts/buildin-object-api/UTSJSONObject.html#getBoolean)\n"},"getNumber":{"name":"#### getNumber(key) @getnumber","description":"获取一个number属性,返回类型是number 或者 null","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| key | string | 是 | - | - | - | \n","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| number \\| null | 否 |\n \n","compatibility":"##### getNumber 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","tutorial":"\n##### 参见\n- [参见uni-app相关文档](https://uniapp.dcloud.net.cn/uts/buildin-object-api/UTSJSONObject.html#getNumber)\n"},"getString":{"name":"#### getString(key) @getstring","description":"获取一个string属性,返回类型是string 或者 null","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| key | string | 是 | - | - | - | \n","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| string \\| null | 否 |\n \n","compatibility":"##### getString 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","tutorial":"\n##### 参见\n- [参见uni-app相关文档](https://uniapp.dcloud.net.cn/uts/buildin-object-api/UTSJSONObject.html#getString)\n"},"getJSON":{"name":"#### getJSON(key) @getjson","description":"获取一个UTSJSONObject属性,返回类型是UTSJSONObject 或者 null","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| key | string | 是 | - | - | - | \n","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| [UTSJSONObject](/uts/buildin-object-api/utsjsonobject.md) \\| null | 否 |\n \n","compatibility":"##### getJSON 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","tutorial":"\n##### 参见\n- [参见uni-app相关文档](https://uniapp.dcloud.net.cn/uts/buildin-object-api/UTSJSONObject.html#getJSON)\n"},"getArray":{"name":"#### getArray(key) @getarray","description":"获取一个Array属性,返回类型是Array 或者 null, 数组元素类型由泛型T决定","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| key | string | 是 | - | - | - | \n","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| T[] \\| null | 否 |\n \n","compatibility":"##### getArray 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","tutorial":"\n##### 参见\n- [参见uni-app相关文档](https://uniapp.dcloud.net.cn/uts/buildin-object-api/UTSJSONObject.html#getArray)\n"},"toMap":{"name":"#### toMap() @tomap","description":"将当前 UTSJSONObject 实例转换为 Map 实例。","param":"","returnValue":"##### 返回值 \n\n| 类型 |\n| :- |\n| Map\\ |\n \n","compatibility":"##### toMap 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","tutorial":"\n##### 参见\n- [参见uni-app相关文档](https://uniapp.dcloud.net.cn/uts/buildin-object-api/UTSJSONObject.html#toMap)\n"},"parse":{"name":"#### parse() @parse","description":"将当前的UTSJSONObject对象转换为某一个具体的类型 T","param":"","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| T \\| null | 否 |\n \n","compatibility":"##### parse 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | x |\n","tutorial":"\n##### 参见\n- [参见uni-app相关文档](https://uniapp.dcloud.net.cn/uts/buildin-object-api/UTSJSONObject.html#parse)\n"}},"compatibility":"### UTSJSONObject 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"UniElement":{"name":"## UniElement","description":"UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。","extends":"","param":"\n### UniElement 的属性值 @unielement-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| classList | Array\\ | 是 | - | | 只读属性 获取当前元素的的 class 属性的动态集合。 |\n| firstChild | [UniElement](/dom/unielement.md) \\| null | 否 | - | | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 |\n| lastChild | [UniElement](/dom/unielement.md) \\| null | 否 | - | | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 |\n| parentElement | [UniElement](/dom/unielement.md) \\| null | 否 | - | | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 |\n| previousSibling | [UniElement](/dom/unielement.md) \\| null | 否 | - | | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 |\n| nextElementSibling | [UniElement](/dom/unielement.md) \\| null | 否 | - | | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 |\n| children | Array\\<[UniElement](/dom/unielement.md)\\> | 是 | - | | 只读属性 获取当前元素包含的子元素的集合 |\n| tagName | string | 是 | - | | 只读属性 获取当前元素的标签名 |\n| nodeName | string | 是 | - | | 只读属性 获取当前元素的元素名称 |\n| dataset | Map\\ | 是 | - | | 只读属性 获取元素上自定义数据属性(data-*)的集合 |\n| attributes | Map\\ | 是 | - | | 只读属性 获取元素上所有属性元素的集合 |\n| style | [CSSStyleDeclaration](/dom/cssstyledeclaration.md) | 是 | - | | 只读属性 获取元素的CSS样式对象 |\n| scrollWidth | number | 是 | - | | 只读属性 获取可滚动元素内容的总宽度,仅scroll-view、list-view组件支持,其他组件返回视图宽度 |\n| scrollHeight | number | 是 | - | | 只读属性 获取可滚动元素内容的总高度,仅scroll-view、list-view组件支持,其他组件返回视图高度 |\n| scrollLeft | number | 是 | - | | 获取或修改元素滚动条到元素左边的距离像素数,仅scroll-view、list-view组件支持。其他组件返回0 |\n| scrollTop | number | 是 | - | | 获取或修改元素滚动条到元素顶部的距离像素数,仅scroll-view、list-view组件支持。其他组件返回0 |\n| offsetLeft | number | 是 | - | | 只读属性 元素的左边界偏移值 单位px |\n| offsetTop | number | 是 | - | | 只读属性 元素的顶部边界偏移值 单位px |\n| offsetWidth | number | 是 | - | | 只读属性 元素的布局宽度,宽度包含border、padding的数据值 单位px |\n| offsetHeight | number | 是 | - | | 只读属性 元素的布局高度,高度包含border、padding的数据值 单位px |\n| ext | Map\\ | 是 | - | | 只读属性 扩展属性 |\n","methods":{"takeSnapshot":{"name":"#### takeSnapshot(options) @takesnapshot","description":"对当前组件进行截图,调用此方法会将当前组件(包含子节点)渲染结果导出成图片。
成功会返回图片对应的临时文件路径,目前默认png格式
","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | [TakeSnapshotOptions](#takesnapshotoptions-values) | 是 | - | - | 组件截图的参数对象 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| type | string \\| null | 否 | \"file\" | - | 截图导出类型,目前仅支持 'file' 保存到临时文件目录 |\n@| format | string \\| null | 否 | \"png\" | - | 截图文件格式,目前仅支持 'png' |\n@| success | (res: [TakeSnapshotSuccess](#takesnapshotsuccess-values)) => void \\| null | 否 | - | - | 接口调用成功的回调函数 |\n@| fail | (res: [TakeSnapshotFail](#takesnapshotfail-values)) => void \\| null | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (res: any) => void \\| null | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n##### TakeSnapshotSuccess 的属性值 @takesnapshotsuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| tempFilePath | string | 是 | - | - | 截图保存的临时文件路径 |\n\n##### TakeSnapshotFail 的属性值 @takesnapshotfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","compatibility":"##### takeSnapshot 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.03 | 4.11 |\n","tutorial":""},"appendChild":{"name":"#### appendChild(aChild) @appendchild","description":"将一个元素添加到指定父元素的子元素列表的末尾处。如果将被插入的元素已经存在于当前文档的文档树中,那么将会它从原先的位置移动到新的位置。","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| aChild | [UniElement](/dom/unielement.md) | 是 | - | | 插入子元素对象 | \n","returnValue":"","compatibility":"##### appendChild 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""},"insertBefore":{"name":"#### insertBefore(newChild, refChild?) @insertbefore","description":"在参考元素之前插入一个拥有指定父元素的子元素。如果给定的子元素是对文档中现有元素的引用,insertBefore() 会将其从当前位置移动到新位置。","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| newChild | [UniElement](/dom/unielement.md) | 是 | - | | 插入子元素对象 |\n| refChild | [UniElement](/dom/unielement.md) \\| null | 否 | - | | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 | \n","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| [UniElement](/dom/unielement.md) \\| null | 否 |\n \n","compatibility":"##### insertBefore 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""},"setAttribute":{"name":"#### setAttribute(key, value) @setattribute","description":"设置指定元素上的某个属性值。如果设置的属性已经存在,则更新该属性值;否则使用指定的名称和值添加一个新的属性。","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| key | string | 是 | - | - | 属性名称 |\n| value | string | 是 | - | - | 属性值域 | \n","returnValue":"","compatibility":"##### setAttribute 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""},"getAttribute":{"name":"#### getAttribute(key) @getattribute","description":"获取元素指定的属性值,如果指定的属性不存在则返回null。","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| key | string | 是 | - | - | 属性名称 | \n","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| string \\| null | 否 |\n \n","compatibility":"##### getAttribute 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""},"hasAttribute":{"name":"#### hasAttribute(key) @hasattribute","description":"返回改元素是否包含有指定的属性,属性存在则返回true,否则返回false。","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| key | string | 是 | - | - | 属性名称 | \n","returnValue":"##### 返回值 \n\n| 类型 |\n| :- |\n| boolean |\n \n","compatibility":"##### hasAttribute 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""},"removeAttribute":{"name":"#### removeAttribute(key) @removeattribute","description":"从元素中删除一个属性,如果指定的属性不存在,则不做任何操作,也不会产生错误。","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| key | string | 是 | - | - | 属性名称 | \n","returnValue":"","compatibility":"##### removeAttribute 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""},"getBoundingClientRect":{"name":"#### getBoundingClientRect() @getboundingclientrect","description":"获取元素的大小及其相对于窗口的位置信息。","param":"","returnValue":"##### 返回值 \n\n| 类型 |\n| :- |\n| [DOMRect](/dom/domrect.md) |\n \n","compatibility":"##### getBoundingClientRect 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""},"getDrawableContext":{"name":"#### getDrawableContext() @getdrawablecontext","description":"获取组件的绘制对象,仅uvue页面中的 view 组件支持,其它组件不支持则返回null。","param":"","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| [DrawableContext](/dom/drawablecontext.md) \\| null | 否 |\n \n","compatibility":"##### getDrawableContext 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.0 | 4.11 |\n","tutorial":""},"addEventListener":{"name":"#### addEventListener(type, callback) @addeventlistener","description":"将指定的监听器注册到元素对象上,当该对象触发指定的事件时,指定的回调函数就会被执行。","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| type | string | 是 | - | - | 事件类型 |\n| callback | (event: T) => R | 是 | - | - | 事件监听器 T表示event类型,R表示返回值类型 | \n","returnValue":"##### 返回值 \n\n| 类型 |\n| :- |\n| UniCallbackWrapper |\n \n","compatibility":"##### addEventListener 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.0 | 4.11 |\n","tutorial":""},"removeEventListener":{"name":"#### removeEventListener(type, callbackWrapper) @removeeventlistener","description":"删除使用 addEventListener 方法添加的事件监听器。","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| type | string | 是 | - | - | 事件类型 |\n| callbackWrapper | UniCallbackWrapper | 是 | - | - | 事件监听回调封装类 | \n","returnValue":"","compatibility":"##### removeEventListener 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.0 | 4.11 |\n","tutorial":""},"removeChild":{"name":"#### removeChild(aChild) @removechild","description":"从元素中删除一个子元素,返回删除的元素。","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| aChild | [UniElement](/dom/unielement.md) | 是 | - | | 被删除子元素对象 | \n","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| [UniElement](/dom/unielement.md) \\| null | 否 |\n \n","compatibility":"##### removeChild 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""},"remove":{"name":"#### remove() @remove","description":"把元素对象从它所属的 DOM 树中删除。","param":"","returnValue":"","compatibility":"##### remove 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""},"dispatchEvent":{"name":"#### dispatchEvent(type, value) @dispatchevent","description":"向一个指定的事件目标派发一个 Event,并以合适的顺序(同步地)调用此事件的监听器回调函数。","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| type | string | 是 | - | - | 事件类型 |\n| value | [UniEvent](/component/common#unievent) | 是 | - | - | 事件返回对象 | \n","returnValue":"","compatibility":"##### dispatchEvent 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""},"scrollTo":{"name":"#### scrollTo(x, y) @scrollto","description":"使界面滚动到给定元素的指定坐标位置 仅scroll-view、list-view组件支持","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | x轴要滚动到坐标位置(单位px) |\n| y | number | 是 | - | - | y轴要滚动到坐标位置(单位px) | \n","returnValue":"","compatibility":"##### scrollTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""},"scrollBy":{"name":"#### scrollBy(x, y) @scrollby","description":"使得元素滚动一段特定距离 仅scroll-view、list-view组件支持","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | x轴要滚动的距离(单位px) |\n| y | number | 是 | - | - | y轴要滚动的距离(单位px) | \n","returnValue":"","compatibility":"##### scrollBy 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""},"querySelector":{"name":"#### querySelector(selector) @queryselector","description":"返回文档中与指定选择器或选择器组匹配的第一个 Element对象。如果找不到匹配项,则返回null","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| selector | [string.cssSelectorString](/uts/data-type.md#ide-string) | 是 | - | - | CSS 选择器字符串 | \n","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| [UniElement](/dom/unielement.md) \\| null | 否 |\n \n","compatibility":"##### querySelector 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""},"querySelectorAll":{"name":"#### querySelectorAll(selector) @queryselectorall","description":"返回与指定的选择器组匹配的文档中的元素列表","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| selector | [string.cssSelectorString](/uts/data-type.md#ide-string) | 是 | - | - | CSS 选择器字符串 | \n","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| Array\\<[UniElement](/dom/unielement.md)\\> \\| null | 否 |\n \n","compatibility":"##### querySelectorAll 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""},"focus":{"name":"#### focus() @focus","description":"使元素获取焦点 仅input、Textarea组件支持","param":"","returnValue":"","compatibility":"##### focus 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""},"blur":{"name":"#### blur() @blur","description":"使元素丢失焦点 仅input、Textarea组件支持","param":"","returnValue":"","compatibility":"##### blur 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""}},"compatibility":"### UniElement 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |"},"CSSStyleDeclaration":{"name":"## CSSStyleDeclaration","description":"CSSStyleDeclaration表示一个CSS 声明块对象,它是一个 CSS 属性键值对的集合,暴露样式信息和各种与样式相关的方法和属性。","extends":"","param":"","methods":{"setProperty":{"name":"#### setProperty(name, value?) @setproperty","description":"对CSS指定样式设置一个新值,如有此样式已存在则更新。","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| name | string ([string.cssPropertyString](/uts/data-type.md#ide-string)) | 是 | - | - | CSS样式名称 |\n| value | any \\| null | 否 | - | - | 要设置的新CSS样式值 | \n","returnValue":"","compatibility":"##### setProperty 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","tutorial":""},"getPropertyValue":{"name":"#### getPropertyValue(property) @getpropertyvalue","description":"获取CSS指定的样式值,如果指定的样式不存在则返回null。","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| property | string ([string.cssPropertyString](/uts/data-type.md#ide-string)) | 是 | - | - | 要获取的CSS样式名称 | \n","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| any \\| null | 否 |\n \n","compatibility":"##### getPropertyValue 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","tutorial":""},"removeProperty":{"name":"#### removeProperty(property) @removeproperty","description":"删除CSS指定的样式值","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| property | string ([string.cssPropertyString](/uts/data-type.md#ide-string)) | 是 | - | - | 要删除的CSS样式名称 | \n","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| any \\| null | 否 |\n \n","compatibility":"##### removeProperty 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |\n","tutorial":""}},"compatibility":"### CSSStyleDeclaration 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |"},"TakeSnapshotOptions":{"name":"## TakeSnapshotOptions","description":"组件截图的参数配置选项","extends":"","param":"\n### TakeSnapshotOptions 的属性值 @takesnapshotoptions-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| type | string \\| null | 否 | \"file\" | - | 截图导出类型,目前仅支持 'file' 保存到临时文件目录 |\n| format | string \\| null | 否 | \"png\" | - | 截图文件格式,目前仅支持 'png' |\n| success | (res: **TakeSnapshotSuccess**) => void \\| null | 否 | - | - | 接口调用成功的回调函数 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| tempFilePath | string | 是 | - | - | 截图保存的临时文件路径 |\n| fail | (res: **TakeSnapshotFail**) => void \\| null | 否 | - | - | 接口调用失败的回调函数 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| errMsg | string | 是 | - | - | - |\n| complete | (res: any) => void \\| null | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) |\n","compatibility":"### TakeSnapshotOptions 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"TakeSnapshotSuccessCallback":{"name":"## TakeSnapshotSuccessCallback","description":"","extends":"","param":"","compatibility":"### TakeSnapshotSuccessCallback 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"TakeSnapshotSuccess":{"name":"## TakeSnapshotSuccess","description":"","extends":"","param":"\n### TakeSnapshotSuccess 的属性值 @takesnapshotsuccess-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| tempFilePath | string | 是 | - | - | 截图保存的临时文件路径 |\n","compatibility":"### TakeSnapshotSuccess 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"TakeSnapshotFailCallback":{"name":"## TakeSnapshotFailCallback","description":"","extends":"","param":"","compatibility":"### TakeSnapshotFailCallback 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"TakeSnapshotFail":{"name":"## TakeSnapshotFail","description":"","extends":"","param":"\n### TakeSnapshotFail 的属性值 @takesnapshotfail-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n","compatibility":"### TakeSnapshotFail 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"TakeSnapshotCompleteCallback":{"name":"## TakeSnapshotCompleteCallback","description":"","extends":"","param":"","compatibility":"### TakeSnapshotCompleteCallback 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"DOMRect":{"name":"## DOMRect","description":"一个 DOMRect 代表一个矩形。","extends":"","param":"\n### 构造函数\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 否 | 0 | - | 矩形原点的x坐标 |\n| y | number | 否 | 0 | - | 矩形原点的y坐标 |\n| width | number | 否 | 0 | - | 矩形的宽 |\n| height | number | 否 | 0 | - | 矩形的高 |\n\n### DOMRect 的属性值 @domrect-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| width | number | 是 | - | | 矩形的宽 |\n| height | number | 是 | - | | 矩形的高 |\n| x | number | 是 | - | | 矩形原点的x坐标 |\n| y | number | 是 | - | | 矩形原点的y坐标 |\n| left | number | 是 | - | | 矩形的左坐标值 |\n| right | number | 是 | - | | 矩形的右坐标值 |\n| top | number | 是 | - | | 矩形的顶坐标值 |\n| bottom | number | 是 | - | | 矩形的底坐标值 |\n","compatibility":"### DOMRect 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | 4.11 |"},"DrawableContext":{"name":"## DrawableContext","description":"","extends":"","param":"\n### DrawableContext 的属性值 @drawablecontext-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| font | string | 是 | 10px | | 设置字体大小 |\n| fillStyle | [string.ColorString](/uts/data-type.md#ide-string) | 是 | #000 (黑色) | | 设置填充颜色 |\n| lineCap | string | 是 | butt | | 指定如何绘制每一条线条末端的属性,可选值:`butt`线段末端以方形结束;`round`线段末端以圆形结束;`square`线段末端以方形结束,但是会增加一个一半宽度的矩形区域。 |\n| lineDashOffset | number | 是 | - | | 设置虚线偏移量 |\n| lineJoin | string | 是 | miter | | 设置 2 个长度不为 0 的线条相连部分如何连接在一起的属性,可选值:`bevel`斜角;`round`圆角;`miter`尖角。 |\n| lineWidth | number | 是 | 1px | | 设置线条的宽度 |\n| strokeStyle | [string.ColorString](/uts/data-type.md#ide-string) | 是 | #000 (黑色) | | 设置边框的颜色 |\n| textAlign | string | 是 | left | | 设置文本的对齐方式,可取值:`left`左对齐;`center`居中对齐;`right`右对齐。 |\n","methods":{"beginPath":{"name":"#### beginPath() @beginpath","description":"创建一个新的空路径","param":"","returnValue":"","compatibility":"##### beginPath 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","tutorial":""},"arc":{"name":"#### arc(x, y, radius, startAngle, endAngle, anticlockwise?) @arc","description":"绘制一段弧线","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 圆心的X轴坐标 |\n| y | number | 是 | - | - | 圆心的Y轴坐标 |\n| radius | number | 是 | - | - | 圆弧的半径 |\n| startAngle | number | 是 | - | - | 圆弧的起始点,x 轴方向开始计算,单位为弧度 |\n| endAngle | number | 是 | - | - | 圆弧的终点,单位为弧度 |\n| anticlockwise | boolean \\| null | 否 | true | - | 圆弧绘制方向,true:逆时针绘制,false:顺时针绘制。 | \n","returnValue":"","compatibility":"##### arc 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","tutorial":""},"moveTo":{"name":"#### moveTo(x, y) @moveto","description":"将一个新的路径的起始点移动到 (x,y) 坐标","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 点的X轴坐标 |\n| y | number | 是 | - | - | 点的Y轴坐标 | \n","returnValue":"","compatibility":"##### moveTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","tutorial":""},"rect":{"name":"#### rect(x, y, width, height) @rect","description":"创建一个矩形路径","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 矩形起点的X轴坐标 |\n| y | number | 是 | - | - | 矩形起点的Y轴坐标 |\n| width | number | 是 | - | - | 矩形宽度 |\n| height | number | 是 | - | - | 矩形高度 | \n","returnValue":"","compatibility":"##### rect 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","tutorial":""},"lineTo":{"name":"#### lineTo(x, y) @lineto","description":"将路径的最后一个点连接到 (x,y) 坐标","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 线终点的X轴坐标 |\n| y | number | 是 | - | - | 线终点的Y轴坐标 | \n","returnValue":"","compatibility":"##### lineTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","tutorial":""},"closePath":{"name":"#### closePath() @closepath","description":"闭合路径,将最后一个点与起点连接起来。如果图形已经封闭,或者只有一个点,那么此方法不会产生任何效果。","param":"","returnValue":"","compatibility":"##### closePath 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","tutorial":""},"stroke":{"name":"#### stroke() @stroke","description":"绘制当前或已经存在的路径的边框。","param":"","returnValue":"","compatibility":"##### stroke 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","tutorial":""},"strokeRect":{"name":"#### strokeRect(x, y, width, height) @strokerect","description":"绘制一个矩形框","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 矩形起点的X轴坐标 |\n| y | number | 是 | - | - | 矩形起点的Y轴坐标 |\n| width | number | 是 | - | - | 矩形宽度 |\n| height | number | 是 | - | - | 矩形高度 | \n","returnValue":"","compatibility":"##### strokeRect 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","tutorial":""},"strokeText":{"name":"#### strokeText(text, x, y) @stroketext","description":"绘制空心字符","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| text | string | 是 | - | - | 要绘制的字符 |\n| x | number | 是 | - | - | 字符开始绘制的X轴坐标 |\n| y | number | 是 | - | - | 字符开始绘制的Y轴坐标 | \n","returnValue":"","compatibility":"##### strokeText 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","tutorial":""},"fill":{"name":"#### fill(fillRule?) @fill","description":"填充当前或已存在的路径","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| fillRule | string \\| null | 否 | nonzero | - | 填充规则。可取值:`nonzero`非零环绕规则;`evenodd`奇偶环绕规则。 | \n","returnValue":"","compatibility":"##### fill 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","tutorial":""},"fillRect":{"name":"#### fillRect(x, y, width, height) @fillrect","description":"绘制一个实心矩形","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | 矩形起点的X轴坐标 |\n| y | number | 是 | - | - | 矩形起点的Y轴坐标 |\n| width | number | 是 | - | - | 矩形宽度 |\n| height | number | 是 | - | - | 矩形高度 | \n","returnValue":"","compatibility":"##### fillRect 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","tutorial":""},"fillText":{"name":"#### fillText(text, x, y) @filltext","description":"绘制实心字符","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| text | string | 是 | - | - | 要绘制的字符 |\n| x | number | 是 | - | - | 字符开始绘制的X轴坐标 |\n| y | number | 是 | - | - | 字符开始绘制的Y轴坐标 | \n","returnValue":"","compatibility":"##### fillText 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","tutorial":""},"reset":{"name":"#### reset() @reset","description":"清空绘制数据","param":"","returnValue":"","compatibility":"##### reset 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","tutorial":""},"update":{"name":"#### update() @update","description":"将所有绘制内容更新到画布上","param":"","returnValue":"","compatibility":"##### update 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","tutorial":""},"setLineDash":{"name":"#### setLineDash(segments) @setlinedash","description":"设置虚线样式","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| segments | number[\\] | 是 | - | - | 一组描述交替绘制线段和间距长度的数字。 | \n","returnValue":"","compatibility":"##### setLineDash 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","tutorial":""},"bezierCurveTo":{"name":"#### bezierCurveTo(cp1x, cp1y, cp2x, cp2y, x, y) @beziercurveto","description":"创建三次方贝塞尔曲线路径","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| cp1x | number | 是 | - | - | 第一个贝塞尔控制点的 x 坐标 |\n| cp1y | number | 是 | - | - | 第一个贝塞尔控制点的 y 坐标 |\n| cp2x | number | 是 | - | - | 第二个贝塞尔控制点的 x 坐标 |\n| cp2y | number | 是 | - | - | 第二个贝塞尔控制点的 y 坐标 |\n| x | number | 是 | - | - | 结束点的 x 坐标 |\n| y | number | 是 | - | - | 结束点的 y 坐标 | \n","returnValue":"","compatibility":"##### bezierCurveTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |\n","tutorial":""}},"compatibility":"### DrawableContext 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| x | 3.9 | 4.11 |","example":"### 示例 \n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha/pages/API/element-draw/element-draw.uvue) \n ::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/element-draw/element-draw\n>Template\n```vue\n\n\n\n\n\n\n```\n>Script\n```uts\n\n var y = 160\n export default {\n data() {\n return {\n texts: [\n 'HBuilderX,轻巧、极速,极客编辑器',\n 'uni-app x,终极跨平台方案',\n 'uniCloud,js serverless云服务',\n 'uts,大一统语言',\n 'uniMPSdk,让你的App具备小程序能力',\n 'uni-admin,开源、现成的全端管理后台',\n 'uni-id,开源、全端的账户中心',\n 'uni-pay,开源、云端一体、全平台的支付',\n 'uni-ai,聚合ai能力',\n 'uni-cms,开源、云端一体、全平台的内容管理平台',\n 'uni-im,开源、云端一体、全平台的im即时消息',\n 'uni统计,开源、完善、全平台的统计报表',\n '......'\n ] as string[]\n }\n },\n onShow() {\n },\n\n onReady() {\n this.drawText()\n this.drawLines()\n this.drawCircles()\n this.drawStar()\n this.drawhouse()\n this.drawPoint()\n this.drawRect()\n this.drawArcTo()\n },\n onUnload() {\n y = 160\n },\n methods: {\n drawText() {\n let element = uni.getElementById('draw-text-view')!\n let ctx = element.getDrawableContext()!\n let width = element.getBoundingClientRect().width\n ctx.reset()\n ctx.font = \"15px Arial\"\n ctx.textAlign = \"center\"\n for (var i = 0; i < this.texts.length; i++) {\n let value = this.texts[i]\n if (i % 2 == 0) {\n ctx.fillText(value, width / 2, (20 * (i + 1)))\n } else {\n ctx.lineWidth = 0.5\n ctx.strokeText(value, width / 2, (20 * (i + 1)))\n }\n }\n ctx.update()\n },\n drawLines() {\n let ctx = uni.getElementById('draw-line-view')!.getDrawableContext()!\n ctx.reset()\n ctx.lineWidth = 10;\n\n [\"round\", \"bevel\", \"miter\"].forEach((join, i) => {\n ctx.lineJoin = join;\n ctx.beginPath();\n ctx.moveTo(5, 10 + i * 40);\n ctx.lineTo(50, 50 + i * 40);\n ctx.lineTo(90, 10 + i * 40);\n ctx.lineTo(130, 50 + i * 40);\n ctx.lineTo(170, 10 + i * 40);\n ctx.stroke();\n });\n ctx.lineWidth = 1\n var space = 170\n ctx.strokeStyle = '#09f';\n ctx.beginPath();\n ctx.moveTo(10 + space, 10);\n ctx.lineTo(140 + space, 10);\n ctx.moveTo(10 + space, 140);\n ctx.lineTo(140 + space, 140);\n ctx.stroke();\n // Draw lines\n ctx.strokeStyle = 'black';\n ['butt', 'round', 'square'].forEach((lineCap, i) => {\n ctx.lineWidth = 15;\n ctx.lineCap = lineCap;\n ctx.beginPath();\n ctx.moveTo(25 + space + i * 50, 10);\n ctx.lineTo(25 + space + i * 50, 140);\n ctx.stroke();\n });\n ctx.lineWidth = 1;\n this.drawDashedLine([], ctx);\n this.drawDashedLine([2, 2], ctx);\n this.drawDashedLine([10, 10], ctx);\n this.drawDashedLine([20, 5], ctx);\n this.drawDashedLine([15, 3, 3, 3], ctx);\n this.drawDashedLine([20, 3, 3, 3, 3, 3, 3, 3], ctx);\n ctx.lineDashOffset = 18;\n this.drawDashedLine([12, 3, 3], ctx);\n ctx.lineDashOffset = 0\n ctx.setLineDash([0])\n ctx.update()\n },\n drawDashedLine(pattern : Array, ctx : DrawableContext) {\n ctx.beginPath();\n ctx.setLineDash(pattern);\n ctx.moveTo(0, y);\n ctx.lineTo(300, y);\n ctx.stroke();\n y += 15;\n },\n drawCircles() {\n let ctx = uni.getElementById('draw-circle-view')!.getDrawableContext()!\n ctx.reset()\n // Draw shapes\n for (var i = 0; i < 4; i++) {\n for (var j = 0; j < 3; j++) {\n ctx.beginPath();\n var x = 25 + j * 50; // x coordinate\n var y = 25 + i * 50; // y coordinate\n var radius = 20; // Arc radius\n var startAngle = 0; // Starting point on circle\n var endAngle = Math.PI + (Math.PI * j) / 2; // End point on circle\n var clockwise = i % 2 == 0 ? false : true; // clockwise or anticlockwise\n\n ctx.arc(x, y, radius, startAngle, endAngle, clockwise);\n\n if (i > 1) {\n ctx.fill();\n } else {\n ctx.stroke();\n }\n }\n }\n ctx.update()\n },\n\n drawStar() {\n let ctx = uni.getElementById('draw-dash-line')!.getDrawableContext()!\n ctx.reset()\n ctx.beginPath();\n var horn = 5; // 画5个角\n var angle = 360 / horn; // 五个角的度数\n // 两个圆的半径\n var R = 50;\n var r = 20;\n // 坐标\n var x = 100;\n var y = 100;\n for (var i = 0; i < horn; i++) {\n // 角度转弧度:角度/180*Math.PI\n // 外圆顶点坐标\n ctx.lineTo(Math.cos((18 + i * angle) / 180.0 * Math.PI) * R + x, -Math.sin((18 + i * angle) / 180.0 * Math.PI) * R + y);\n // 內圆顶点坐标\n ctx.lineTo(Math.cos((54 + i * angle) / 180.0 * Math.PI) * r + x, -Math.sin((54 + i * angle) / 180.0 * Math.PI) * r + y);\n }\n // closePath:关闭路径,将路径的终点与起点相连\n ctx.closePath();\n ctx.lineWidth = 3;\n ctx.fillStyle = '#E4EF00';\n ctx.strokeStyle = \"red\";\n ctx.fill();\n ctx.stroke();\n\n ctx.lineWidth = 10;\n ctx.beginPath()\n ctx.moveTo(170, 100)\n ctx.lineTo(255, 15)\n ctx.lineTo(340, 100)\n ctx.closePath()\n ctx.fill()\n ctx.strokeStyle = \"blue\"\n ctx.stroke()\n ctx.beginPath()\n ctx.moveTo(170, 145)\n ctx.lineTo(255, 45)\n ctx.lineTo(340, 145)\n ctx.closePath()\n ctx.fill()\n ctx.strokeStyle = \"gray\"\n ctx.stroke()\n // 未设置beginPath,导致上下表现一致,与前端一致\n ctx.moveTo(170, 190)\n ctx.lineTo(255, 90)\n ctx.lineTo(340, 190)\n ctx.closePath()\n ctx.fillStyle = \"orange\"\n ctx.fill()\n ctx.strokeStyle = \"khaki\"\n ctx.stroke()\n ctx.update()\n },\n hex(num : number) : string {\n if (num == 0) {\n return \"00\"\n }\n let hexChars = \"0123456789ABCDEF\";\n let result = \"\";\n while (num > 0) {\n let remainder = Math.floor(num) % 16;\n result = hexChars[remainder] + result;\n num = Math.floor(Math.floor(num) / 16);\n }\n if (result.length == 1) {\n return \"0\" + result\n }\n return result\n },\n drawhouse() {\n let ctx = uni.getElementById('draw-house')!.getDrawableContext()!\n ctx.reset()\n ctx.lineWidth = 10;\n\n // Wall\n ctx.strokeRect(75, 140, 150, 110);\n\n // Door\n ctx.fillRect(130, 190, 40, 60);\n\n // Roof\n ctx.beginPath();\n ctx.moveTo(50, 140);\n ctx.lineTo(150, 60);\n ctx.lineTo(250, 140);\n ctx.closePath();\n ctx.stroke();\n ctx.update()\n },\n drawPoint() {\n let ctx = uni.getElementById('draw-style')!.getDrawableContext()!\n ctx.reset()\n for (let i = 0; i < 6; i++) {\n for (let j = 0; j < 6; j++) {\n ctx.strokeStyle = `rgb(0,${Math.floor(255 - 42.5 * i)},${Math.floor(255 - 42.5 * j)})`;\n ctx.beginPath();\n ctx.arc(12.5 + j * 25, 12.5 + i * 25, 10, 0, Math.PI * 2, true);\n ctx.stroke();\n }\n }\n for (let i = 0; i < 6; i++) {\n for (let j = 0; j < 6; j++) {\n ctx.fillStyle = `rgb(${Math.floor(255 - 42.5 * i)},${Math.floor(255 - 42.5 * j)},0)`;\n ctx.fillRect(180 + j * 25, i * 25, 25, 25);\n }\n }\n ctx.update()\n },\n drawRect() {\n let ctx = uni.getElementById('draw-odd')!.getDrawableContext()!\n ctx.reset()\n // Create path\n ctx.moveTo(30, 90);\n ctx.lineTo(110, 20);\n ctx.lineTo(240, 130);\n ctx.lineTo(60, 130);\n ctx.lineTo(190, 20);\n ctx.lineTo(270, 90);\n ctx.closePath();\n\n // Fill path\n ctx.fillStyle = \"green\";\n ctx.fill(\"evenodd\");\n ctx.update()\n\n },\n drawArcTo() {\n let ctx = uni.getElementById('draw-arcto')!.getDrawableContext()!\n ctx.reset()\n ctx.beginPath();\n ctx.moveTo(50, 20);\n ctx.bezierCurveTo(230, 30, 150, 60, 50, 100);\n ctx.stroke();\n\n ctx.fillStyle = \"blue\";\n // start point\n ctx.fillRect(50, 20, 10, 10);\n // end point\n ctx.fillRect(50, 100, 10, 10);\n\n ctx.fillStyle = \"red\";\n // control point one\n ctx.fillRect(230, 30, 10, 10);\n // control point two\n ctx.fillRect(150, 70, 10, 10);\n ctx.update()\n }\n }\n }\n\n```\n:::"},"UniCallbackWrapper":{"name":"## UniCallbackWrapper","description":"事件回调封装类,用于注销监听函数的形参","extends":"","param":"","compatibility":"### UniCallbackWrapper 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"UniEvent":{"name":"## UniEvent","description":"","extends":"","param":"\n### 构造函数\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| type | string | 是 | - | - | 事件的名称 |\n\n### 构造函数\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| type | string | 是 | - | - | 事件的名称 |\n| eventInit | [UTSJSONObject](/uts/buildin-object-api/utsjsonobject.md) | 是 | - | - | 事件初始参数。支持字段:`bubbles`表明该事件是否冒泡。可选,默认为false;`cancelable`表明该事件是否可以被取消。可选,默认为false。 |\n\n### UniEvent 的属性值 @unievent-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| bubbles | boolean | 是 | - | - | 是否冒泡 |\n| cancelable | boolean | 是 | - | - | 是否可以取消 |\n| type | string | 是 | - | - | 事件类型 |\n| target | [UniElement](/dom/unielement.md) \\| null | 否 | - | | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 |\n| currentTarget | [UniElement](/dom/unielement.md) \\| null | 否 | - | | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 |\n| timeStamp | number | 是 | - | - | 事件发生时的时间戳 |\n","methods":{"stopPropagation":{"name":"#### stopPropagation() @stoppropagation","description":"阻止当前事件的进一步传播","param":"","returnValue":"","compatibility":"##### stopPropagation 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n","tutorial":""},"preventDefault":{"name":"#### preventDefault() @preventdefault","description":"阻止当前事件的默认行为
","param":"","returnValue":"","compatibility":"##### preventDefault 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | x |\n","tutorial":""}},"compatibility":"### UniEvent 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"CustomEvent":{"name":"## CustomEvent","description":"","extends":"","param":"\n### 构造函数\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| type | string | 是 | - | - | - |\n| detail | T | 是 | - | - | - |\n\n### 构造函数\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| type | string | 是 | - | - | - |\n| options | any | 是 | - | - | - |\n\n### CustomEvent 的属性值 @customevent-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| detail | T | 是 | - | - | - |\n| bubbles | boolean | 是 | - | - | 是否冒泡 |\n| cancelable | boolean | 是 | - | - | 是否可以取消 |\n| type | string | 是 | - | - | 事件类型 |\n| target | [UniElement](/dom/unielement.md) \\| null | 否 | - | | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 |\n| currentTarget | [UniElement](/dom/unielement.md) \\| null | 否 | - | | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 |\n| timeStamp | number | 是 | - | - | 事件发生时的时间戳 |\n","methods":{"stopPropagation":{"name":"#### stopPropagation() @stoppropagation","description":"阻止当前事件的进一步传播","param":"","returnValue":"","compatibility":"##### stopPropagation 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n","tutorial":""},"preventDefault":{"name":"#### preventDefault() @preventdefault","description":"阻止当前事件的默认行为
","param":"","returnValue":"","compatibility":"##### preventDefault 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | x |\n","tutorial":""}},"compatibility":"### CustomEvent 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"MouseEvent":{"name":"## MouseEvent","description":"","extends":"","param":"\n### MouseEvent 的属性值 @mouseevent-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| clientX | number | 是 | - | - | 相对于页面可显示区域左边的距离 |\n| clientY | number | 是 | - | - | 相对于页面可显示区域顶部的距离 |\n| x | number | 是 | - | - | 相对于页面可显示区域左边的距离,同`clientX` |\n| y | number | 是 | - | - | 相对于页面可显示区域顶部的距离,同`clientY` |\n| pageX | number | 是 | - | - | 相对于文档左边的距离 |\n| pageY | number | 是 | - | - | 相对于文档顶部的距离 |\n| screenX | number | 是 | - | - | 相对于屏幕左边距离 |\n| screenY | number | 是 | - | - | 相对于屏幕顶部的距离 |\n| bubbles | boolean | 是 | - | - | 是否冒泡 |\n| cancelable | boolean | 是 | - | - | 是否可以取消 |\n| type | string | 是 | - | - | 事件类型 |\n| target | [UniElement](/dom/unielement.md) \\| null | 否 | - | | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 |\n| currentTarget | [UniElement](/dom/unielement.md) \\| null | 否 | - | | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 |\n| timeStamp | number | 是 | - | - | 事件发生时的时间戳 |\n","methods":{"stopPropagation":{"name":"#### stopPropagation() @stoppropagation","description":"阻止当前事件的进一步传播","param":"","returnValue":"","compatibility":"##### stopPropagation 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n","tutorial":""},"preventDefault":{"name":"#### preventDefault() @preventdefault","description":"阻止当前事件的默认行为
","param":"","returnValue":"","compatibility":"##### preventDefault 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | x |\n","tutorial":""}},"compatibility":"### MouseEvent 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"TouchEvent":{"name":"## TouchEvent","description":"","extends":"","param":"\n### TouchEvent 的属性值 @touchevent-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| touches | Array\\<**UniTouch**\\> | 是 | - | - | 当前停留在屏幕中的触摸点信息的数组 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| clientX | number | 是 | - | - | 相对于页面可显示区域左边的距离 |\n@| clientY | number | 是 | - | - | 相对于页面可显示区域顶部的距离 |\n@| identifier | number | 是 | - | - | 触摸点的标识符。这个值在这根手指所引发的所有事件中保持一致,直到手指抬起。 |\n@| pageX | number | 是 | - | - | 相对于文档左边的距离 |\n@| pageY | number | 是 | - | - | 相对于文档顶部的距离 |\n@| screenX | number | 是 | - | - | 相对于屏幕左边距离 |\n@| screenY | number | 是 | - | - | 相对于屏幕顶部的距离 |\n@| force | number \\| null | 否 | - | - | 返回当前触摸点按下的压力大小 |\n| changedTouches | Array\\<**UniTouch**\\> | 是 | - | - | 当前变化的触摸点信息的数组 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| clientX | number | 是 | - | - | 相对于页面可显示区域左边的距离 |\n@| clientY | number | 是 | - | - | 相对于页面可显示区域顶部的距离 |\n@| identifier | number | 是 | - | - | 触摸点的标识符。这个值在这根手指所引发的所有事件中保持一致,直到手指抬起。 |\n@| pageX | number | 是 | - | - | 相对于文档左边的距离 |\n@| pageY | number | 是 | - | - | 相对于文档顶部的距离 |\n@| screenX | number | 是 | - | - | 相对于屏幕左边距离 |\n@| screenY | number | 是 | - | - | 相对于屏幕顶部的距离 |\n@| force | number \\| null | 否 | - | - | 返回当前触摸点按下的压力大小 |\n| bubbles | boolean | 是 | - | - | 是否冒泡 |\n| cancelable | boolean | 是 | - | - | 是否可以取消 |\n| type | string | 是 | - | - | 事件类型 |\n| target | [UniElement](/dom/unielement.md) \\| null | 否 | - | | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 |\n| currentTarget | [UniElement](/dom/unielement.md) \\| null | 否 | - | | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 |\n| timeStamp | number | 是 | - | - | 事件发生时的时间戳 |\n","methods":{"stopPropagation":{"name":"#### stopPropagation() @stoppropagation","description":"阻止当前事件的进一步传播","param":"","returnValue":"","compatibility":"##### stopPropagation 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n","tutorial":""},"preventDefault":{"name":"#### preventDefault() @preventdefault","description":"阻止当前事件的默认行为
","param":"","returnValue":"","compatibility":"##### preventDefault 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | x |\n","tutorial":""}},"compatibility":"### TouchEvent 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"UniTouch":{"name":"## UniTouch","description":"","extends":"","param":"\n### UniTouch 的属性值 @unitouch-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| clientX | number | 是 | - | - | 相对于页面可显示区域左边的距离 |\n| clientY | number | 是 | - | - | 相对于页面可显示区域顶部的距离 |\n| identifier | number | 是 | - | - | 触摸点的标识符。这个值在这根手指所引发的所有事件中保持一致,直到手指抬起。 |\n| pageX | number | 是 | - | - | 相对于文档左边的距离 |\n| pageY | number | 是 | - | - | 相对于文档顶部的距离 |\n| screenX | number | 是 | - | - | 相对于屏幕左边距离 |\n| screenY | number | 是 | - | - | 相对于屏幕顶部的距离 |\n| force | number \\| null | 否 | - | - | 返回当前触摸点按下的压力大小 |\n","compatibility":"### UniTouch 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"Touch":{"name":"## Touch","description":"","extends":"","param":"\n### Touch 的属性值 @touch-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| clientX | number | 是 | - | - | 相对于页面可显示区域左边的距离 |\n| clientY | number | 是 | - | - | 相对于页面可显示区域顶部的距离 |\n| identifier | number | 是 | - | - | 触摸点的标识符。这个值在这根手指所引发的所有事件中保持一致,直到手指抬起。 |\n| pageX | number | 是 | - | - | 相对于文档左边的距离 |\n| pageY | number | 是 | - | - | 相对于文档顶部的距离 |\n| screenX | number | 是 | - | - | 相对于屏幕左边距离 |\n| screenY | number | 是 | - | - | 相对于屏幕顶部的距离 |\n| force | number \\| null | 否 | - | - | 返回当前触摸点按下的压力大小 |\n","compatibility":"### Touch 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"UniCustomEvent":{"name":"## UniCustomEvent","description":"","extends":"","param":"\n### 构造函数\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| type | string | 是 | - | - | - |\n| detail | T | 是 | - | - | - |\n\n### 构造函数\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| type | string | 是 | - | - | - |\n| options | any | 是 | - | - | - |\n\n### UniCustomEvent 的属性值 @unicustomevent-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| detail | T | 是 | - | - | - |\n| bubbles | boolean | 是 | - | - | 是否冒泡 |\n| cancelable | boolean | 是 | - | - | 是否可以取消 |\n| type | string | 是 | - | - | 事件类型 |\n| target | [UniElement](/dom/unielement.md) \\| null | 否 | - | | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 |\n| currentTarget | [UniElement](/dom/unielement.md) \\| null | 否 | - | | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 |\n| timeStamp | number | 是 | - | - | 事件发生时的时间戳 |\n","methods":{"stopPropagation":{"name":"#### stopPropagation() @stoppropagation","description":"阻止当前事件的进一步传播","param":"","returnValue":"","compatibility":"##### stopPropagation 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n","tutorial":""},"preventDefault":{"name":"#### preventDefault() @preventdefault","description":"阻止当前事件的默认行为
","param":"","returnValue":"","compatibility":"##### preventDefault 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | x |\n","tutorial":""}},"compatibility":"### UniCustomEvent 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"UniMouseEvent":{"name":"## UniMouseEvent","description":"","extends":"","param":"\n### UniMouseEvent 的属性值 @unimouseevent-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| clientX | number | 是 | - | - | 相对于页面可显示区域左边的距离 |\n| clientY | number | 是 | - | - | 相对于页面可显示区域顶部的距离 |\n| x | number | 是 | - | - | 相对于页面可显示区域左边的距离,同`clientX` |\n| y | number | 是 | - | - | 相对于页面可显示区域顶部的距离,同`clientY` |\n| pageX | number | 是 | - | - | 相对于文档左边的距离 |\n| pageY | number | 是 | - | - | 相对于文档顶部的距离 |\n| screenX | number | 是 | - | - | 相对于屏幕左边距离 |\n| screenY | number | 是 | - | - | 相对于屏幕顶部的距离 |\n| bubbles | boolean | 是 | - | - | 是否冒泡 |\n| cancelable | boolean | 是 | - | - | 是否可以取消 |\n| type | string | 是 | - | - | 事件类型 |\n| target | [UniElement](/dom/unielement.md) \\| null | 否 | - | | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 |\n| currentTarget | [UniElement](/dom/unielement.md) \\| null | 否 | - | | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 |\n| timeStamp | number | 是 | - | - | 事件发生时的时间戳 |\n","methods":{"stopPropagation":{"name":"#### stopPropagation() @stoppropagation","description":"阻止当前事件的进一步传播","param":"","returnValue":"","compatibility":"##### stopPropagation 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n","tutorial":""},"preventDefault":{"name":"#### preventDefault() @preventdefault","description":"阻止当前事件的默认行为
","param":"","returnValue":"","compatibility":"##### preventDefault 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | x |\n","tutorial":""}},"compatibility":"### UniMouseEvent 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"UniTouchEvent":{"name":"## UniTouchEvent","description":"","extends":"","param":"\n### UniTouchEvent 的属性值 @unitouchevent-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| touches | Array\\<**UniTouch**\\> | 是 | - | - | 当前停留在屏幕中的触摸点信息的数组 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| clientX | number | 是 | - | - | 相对于页面可显示区域左边的距离 |\n@| clientY | number | 是 | - | - | 相对于页面可显示区域顶部的距离 |\n@| identifier | number | 是 | - | - | 触摸点的标识符。这个值在这根手指所引发的所有事件中保持一致,直到手指抬起。 |\n@| pageX | number | 是 | - | - | 相对于文档左边的距离 |\n@| pageY | number | 是 | - | - | 相对于文档顶部的距离 |\n@| screenX | number | 是 | - | - | 相对于屏幕左边距离 |\n@| screenY | number | 是 | - | - | 相对于屏幕顶部的距离 |\n@| force | number \\| null | 否 | - | - | 返回当前触摸点按下的压力大小 |\n| changedTouches | Array\\<**UniTouch**\\> | 是 | - | - | 当前变化的触摸点信息的数组 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| clientX | number | 是 | - | - | 相对于页面可显示区域左边的距离 |\n@| clientY | number | 是 | - | - | 相对于页面可显示区域顶部的距离 |\n@| identifier | number | 是 | - | - | 触摸点的标识符。这个值在这根手指所引发的所有事件中保持一致,直到手指抬起。 |\n@| pageX | number | 是 | - | - | 相对于文档左边的距离 |\n@| pageY | number | 是 | - | - | 相对于文档顶部的距离 |\n@| screenX | number | 是 | - | - | 相对于屏幕左边距离 |\n@| screenY | number | 是 | - | - | 相对于屏幕顶部的距离 |\n@| force | number \\| null | 否 | - | - | 返回当前触摸点按下的压力大小 |\n| bubbles | boolean | 是 | - | - | 是否冒泡 |\n| cancelable | boolean | 是 | - | - | 是否可以取消 |\n| type | string | 是 | - | - | 事件类型 |\n| target | [UniElement](/dom/unielement.md) \\| null | 否 | - | | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 |\n| currentTarget | [UniElement](/dom/unielement.md) \\| null | 否 | - | | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 |\n| timeStamp | number | 是 | - | - | 事件发生时的时间戳 |\n","methods":{"stopPropagation":{"name":"#### stopPropagation() @stoppropagation","description":"阻止当前事件的进一步传播","param":"","returnValue":"","compatibility":"##### stopPropagation 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n","tutorial":""},"preventDefault":{"name":"#### preventDefault() @preventdefault","description":"阻止当前事件的默认行为
","param":"","returnValue":"","compatibility":"##### preventDefault 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | x |\n","tutorial":""}},"compatibility":"### UniTouchEvent 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"UniPointerEvent":{"name":"## UniPointerEvent","description":"","extends":"","param":"\n### UniPointerEvent 的属性值 @unipointerevent-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| clientX | number | 是 | - | - | 相对于页面可显示区域左边的距离 |\n| clientY | number | 是 | - | - | 相对于页面可显示区域顶部的距离 |\n| x | number | 是 | - | - | 相对于页面可显示区域左边的距离,同`clientX` |\n| y | number | 是 | - | - | 相对于页面可显示区域顶部的距离,同`clientY` |\n| pageX | number | 是 | - | - | 相对于文档左边的距离 |\n| pageY | number | 是 | - | - | 相对于文档顶部的距离 |\n| screenX | number | 是 | - | - | 相对于屏幕左边距离 |\n| screenY | number | 是 | - | - | 相对于屏幕顶部的距离 |\n| bubbles | boolean | 是 | - | - | 是否冒泡 |\n| cancelable | boolean | 是 | - | - | 是否可以取消 |\n| type | string | 是 | - | - | 事件类型 |\n| target | [UniElement](/dom/unielement.md) \\| null | 否 | - | | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 |\n| currentTarget | [UniElement](/dom/unielement.md) \\| null | 否 | - | | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 |\n| timeStamp | number | 是 | - | - | 事件发生时的时间戳 |\n","methods":{"stopPropagation":{"name":"#### stopPropagation() @stoppropagation","description":"阻止当前事件的进一步传播","param":"","returnValue":"","compatibility":"##### stopPropagation 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |\n","tutorial":""},"preventDefault":{"name":"#### preventDefault() @preventdefault","description":"阻止当前事件的默认行为
","param":"","returnValue":"","compatibility":"##### preventDefault 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 3.9 | x |\n","tutorial":""}},"compatibility":"### UniPointerEvent 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"Element":{"name":"## Element","description":"","extends":"","param":"\n### Element 的属性值 @element-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| classList | Array\\ | 是 | - | | 只读属性 获取当前元素的的 class 属性的动态集合。 |\n| firstChild | [UniElement](/dom/unielement.md) \\| null | 否 | - | | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 |\n| lastChild | [UniElement](/dom/unielement.md) \\| null | 否 | - | | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 |\n| parentElement | [UniElement](/dom/unielement.md) \\| null | 否 | - | | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 |\n| previousSibling | [UniElement](/dom/unielement.md) \\| null | 否 | - | | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 |\n| nextElementSibling | [UniElement](/dom/unielement.md) \\| null | 否 | - | | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 |\n| children | Array\\<[UniElement](/dom/unielement.md)\\> | 是 | - | | 只读属性 获取当前元素包含的子元素的集合 |\n| tagName | string | 是 | - | | 只读属性 获取当前元素的标签名 |\n| nodeName | string | 是 | - | | 只读属性 获取当前元素的元素名称 |\n| dataset | Map\\ | 是 | - | | 只读属性 获取元素上自定义数据属性(data-*)的集合 |\n| attributes | Map\\ | 是 | - | | 只读属性 获取元素上所有属性元素的集合 |\n| style | [CSSStyleDeclaration](/dom/cssstyledeclaration.md) | 是 | - | | 只读属性 获取元素的CSS样式对象 |\n| scrollWidth | number | 是 | - | | 只读属性 获取可滚动元素内容的总宽度,仅scroll-view、list-view组件支持,其他组件返回视图宽度 |\n| scrollHeight | number | 是 | - | | 只读属性 获取可滚动元素内容的总高度,仅scroll-view、list-view组件支持,其他组件返回视图高度 |\n| scrollLeft | number | 是 | - | | 获取或修改元素滚动条到元素左边的距离像素数,仅scroll-view、list-view组件支持。其他组件返回0 |\n| scrollTop | number | 是 | - | | 获取或修改元素滚动条到元素顶部的距离像素数,仅scroll-view、list-view组件支持。其他组件返回0 |\n| offsetLeft | number | 是 | - | | 只读属性 元素的左边界偏移值 单位px |\n| offsetTop | number | 是 | - | | 只读属性 元素的顶部边界偏移值 单位px |\n| offsetWidth | number | 是 | - | | 只读属性 元素的布局宽度,宽度包含border、padding的数据值 单位px |\n| offsetHeight | number | 是 | - | | 只读属性 元素的布局高度,高度包含border、padding的数据值 单位px |\n| ext | Map\\ | 是 | - | | 只读属性 扩展属性 |\n","methods":{"takeSnapshot":{"name":"#### takeSnapshot(options) @takesnapshot","description":"对当前组件进行截图,调用此方法会将当前组件(包含子节点)渲染结果导出成图片。
成功会返回图片对应的临时文件路径,目前默认png格式
","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| options | [TakeSnapshotOptions](#takesnapshotoptions-values) | 是 | - | - | 组件截图的参数对象 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| type | string \\| null | 否 | \"file\" | - | 截图导出类型,目前仅支持 'file' 保存到临时文件目录 |\n@| format | string \\| null | 否 | \"png\" | - | 截图文件格式,目前仅支持 'png' |\n@| success | (res: [TakeSnapshotSuccess](#takesnapshotsuccess-values)) => void \\| null | 否 | - | - | 接口调用成功的回调函数 |\n@| fail | (res: [TakeSnapshotFail](#takesnapshotfail-values)) => void \\| null | 否 | - | - | 接口调用失败的回调函数 |\n@| complete | (res: any) => void \\| null | 否 | - | - | 接口调用结束的回调函数(调用成功、失败都会执行) | \n\n##### TakeSnapshotSuccess 的属性值 @takesnapshotsuccess-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| tempFilePath | string | 是 | - | - | 截图保存的临时文件路径 |\n\n##### TakeSnapshotFail 的属性值 @takesnapshotfail-values \n\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errMsg | string | 是 | - | - | - |\n","returnValue":"","compatibility":"##### takeSnapshot 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.03 | 4.11 |\n","tutorial":""},"appendChild":{"name":"#### appendChild(aChild) @appendchild","description":"将一个元素添加到指定父元素的子元素列表的末尾处。如果将被插入的元素已经存在于当前文档的文档树中,那么将会它从原先的位置移动到新的位置。","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| aChild | [UniElement](/dom/unielement.md) | 是 | - | | 插入子元素对象 | \n","returnValue":"","compatibility":"##### appendChild 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""},"insertBefore":{"name":"#### insertBefore(newChild, refChild?) @insertbefore","description":"在参考元素之前插入一个拥有指定父元素的子元素。如果给定的子元素是对文档中现有元素的引用,insertBefore() 会将其从当前位置移动到新位置。","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| newChild | [UniElement](/dom/unielement.md) | 是 | - | | 插入子元素对象 |\n| refChild | [UniElement](/dom/unielement.md) \\| null | 否 | - | | UVUE DOM 元素对象,描述了 UVUE DOM 元素所普通具有的属性和方法。 | \n","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| [UniElement](/dom/unielement.md) \\| null | 否 |\n \n","compatibility":"##### insertBefore 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""},"setAttribute":{"name":"#### setAttribute(key, value) @setattribute","description":"设置指定元素上的某个属性值。如果设置的属性已经存在,则更新该属性值;否则使用指定的名称和值添加一个新的属性。","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| key | string | 是 | - | - | 属性名称 |\n| value | string | 是 | - | - | 属性值域 | \n","returnValue":"","compatibility":"##### setAttribute 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""},"getAttribute":{"name":"#### getAttribute(key) @getattribute","description":"获取元素指定的属性值,如果指定的属性不存在则返回null。","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| key | string | 是 | - | - | 属性名称 | \n","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| string \\| null | 否 |\n \n","compatibility":"##### getAttribute 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""},"hasAttribute":{"name":"#### hasAttribute(key) @hasattribute","description":"返回改元素是否包含有指定的属性,属性存在则返回true,否则返回false。","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| key | string | 是 | - | - | 属性名称 | \n","returnValue":"##### 返回值 \n\n| 类型 |\n| :- |\n| boolean |\n \n","compatibility":"##### hasAttribute 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""},"removeAttribute":{"name":"#### removeAttribute(key) @removeattribute","description":"从元素中删除一个属性,如果指定的属性不存在,则不做任何操作,也不会产生错误。","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| key | string | 是 | - | - | 属性名称 | \n","returnValue":"","compatibility":"##### removeAttribute 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""},"getBoundingClientRect":{"name":"#### getBoundingClientRect() @getboundingclientrect","description":"获取元素的大小及其相对于窗口的位置信息。","param":"","returnValue":"##### 返回值 \n\n| 类型 |\n| :- |\n| [DOMRect](/dom/domrect.md) |\n \n","compatibility":"##### getBoundingClientRect 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""},"getDrawableContext":{"name":"#### getDrawableContext() @getdrawablecontext","description":"获取组件的绘制对象,仅uvue页面中的 view 组件支持,其它组件不支持则返回null。","param":"","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| [DrawableContext](/dom/drawablecontext.md) \\| null | 否 |\n \n","compatibility":"##### getDrawableContext 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.0 | 4.11 |\n","tutorial":""},"addEventListener":{"name":"#### addEventListener(type, callback) @addeventlistener","description":"将指定的监听器注册到元素对象上,当该对象触发指定的事件时,指定的回调函数就会被执行。","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| type | string | 是 | - | - | 事件类型 |\n| callback | (event: T) => R | 是 | - | - | 事件监听器 T表示event类型,R表示返回值类型 | \n","returnValue":"##### 返回值 \n\n| 类型 |\n| :- |\n| UniCallbackWrapper |\n \n","compatibility":"##### addEventListener 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.0 | 4.11 |\n","tutorial":""},"removeEventListener":{"name":"#### removeEventListener(type, callbackWrapper) @removeeventlistener","description":"删除使用 addEventListener 方法添加的事件监听器。","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| type | string | 是 | - | - | 事件类型 |\n| callbackWrapper | UniCallbackWrapper | 是 | - | - | 事件监听回调封装类 | \n","returnValue":"","compatibility":"##### removeEventListener 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.0 | 4.11 |\n","tutorial":""},"removeChild":{"name":"#### removeChild(aChild) @removechild","description":"从元素中删除一个子元素,返回删除的元素。","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| aChild | [UniElement](/dom/unielement.md) | 是 | - | | 被删除子元素对象 | \n","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| [UniElement](/dom/unielement.md) \\| null | 否 |\n \n","compatibility":"##### removeChild 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""},"remove":{"name":"#### remove() @remove","description":"把元素对象从它所属的 DOM 树中删除。","param":"","returnValue":"","compatibility":"##### remove 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""},"dispatchEvent":{"name":"#### dispatchEvent(type, value) @dispatchevent","description":"向一个指定的事件目标派发一个 Event,并以合适的顺序(同步地)调用此事件的监听器回调函数。","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| type | string | 是 | - | - | 事件类型 |\n| value | [UniEvent](/component/common#unievent) | 是 | - | - | 事件返回对象 | \n","returnValue":"","compatibility":"##### dispatchEvent 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""},"scrollTo":{"name":"#### scrollTo(x, y) @scrollto","description":"使界面滚动到给定元素的指定坐标位置 仅scroll-view、list-view组件支持","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | x轴要滚动到坐标位置(单位px) |\n| y | number | 是 | - | - | y轴要滚动到坐标位置(单位px) | \n","returnValue":"","compatibility":"##### scrollTo 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""},"scrollBy":{"name":"#### scrollBy(x, y) @scrollby","description":"使得元素滚动一段特定距离 仅scroll-view、list-view组件支持","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| x | number | 是 | - | - | x轴要滚动的距离(单位px) |\n| y | number | 是 | - | - | y轴要滚动的距离(单位px) | \n","returnValue":"","compatibility":"##### scrollBy 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""},"querySelector":{"name":"#### querySelector(selector) @queryselector","description":"返回文档中与指定选择器或选择器组匹配的第一个 Element对象。如果找不到匹配项,则返回null","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| selector | [string.cssSelectorString](/uts/data-type.md#ide-string) | 是 | - | - | CSS 选择器字符串 | \n","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| [UniElement](/dom/unielement.md) \\| null | 否 |\n \n","compatibility":"##### querySelector 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""},"querySelectorAll":{"name":"#### querySelectorAll(selector) @queryselectorall","description":"返回与指定的选择器组匹配的文档中的元素列表","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| selector | [string.cssSelectorString](/uts/data-type.md#ide-string) | 是 | - | - | CSS 选择器字符串 | \n","returnValue":"##### 返回值 \n\n| 类型 | 必备 |\n| :- | :- |\n| Array\\<[UniElement](/dom/unielement.md)\\> \\| null | 否 |\n \n","compatibility":"##### querySelectorAll 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""},"focus":{"name":"#### focus() @focus","description":"使元素获取焦点 仅input、Textarea组件支持","param":"","returnValue":"","compatibility":"##### focus 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""},"blur":{"name":"#### blur() @blur","description":"使元素丢失焦点 仅input、Textarea组件支持","param":"","returnValue":"","compatibility":"##### blur 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.0 | 4.0 | 4.11 |\n","tutorial":""}},"compatibility":"### Element 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"UniResizeObserver":{"name":"## UniResizeObserver","description":"用于监视 UniElement 元素的大小变化。它可以观察一个或多个","extends":"","param":"\n### 构造函数\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (entries: Array\\<**UniResizeObserverEntry**\\>) => void | 是 | - | - | 每当监视的元素调整大小时,回调该函数 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| borderBoxSize | Array\\<**UniBorderBoxSize**\\> | 是 | - | | 只读属性 包含被监视的元素带有边框box大小的数组。 |\n@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@| :- | :- | :- | :- | :-: | :- |\n@@| blockSize | number | 是 | - | - | 只读属性,被监视元素含边框box的高度 |\n@@| inlineSize | number | 是 | - | - | 只读属性,被监视元素含边框box的宽度 |\n@| contentBoxSize | Array\\<**UniContentBoxSize**\\> | 是 | - | | 只读属性 包含被监视的元素内容box大小的数组。 |\n@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@| :- | :- | :- | :- | :-: | :- |\n@@| blockSize | number | 是 | - | - | 只读属性,被监视元素内容box的高度 |\n@@| inlineSize | number | 是 | - | - | 只读属性,被监视元素内容box的宽度 |\n@| devicePixelContentBoxSize | Array\\<**UniDevicePixelContentBoxSize**\\> | 是 | - | | 只读属性 包含被监视的元素内容box设备像素大小的数组。 |\n@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@| :- | :- | :- | :- | :-: | :- |\n@@| blockSize | number | 是 | - | - | 只读属性,被监视元素内容box的设备像素高度 |\n@@| inlineSize | number | 是 | - | - | 只读属性,被监视元素内容box的设备像素宽度 |\n@| contentRect | [DOMRect](/dom/domrect.md) | 是 | - | | 只读属性 包含被监视元素大小的DOMRect |\n@| target | [UniElement](/dom/unielement.md) | 是 | - | | 只读属性 被监视的 UniElement |\n\n### 构造函数\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| callback | (entries: Array\\<**UniResizeObserverEntry**\\>, observer: [UniResizeObserver](/dom/uniresizeobserver.md)) => void | 是 | - | - | 每当监视的元素调整大小时,回调该函数 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| borderBoxSize | Array\\<**UniBorderBoxSize**\\> | 是 | - | | 只读属性 包含被监视的元素带有边框box大小的数组。 |\n@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@| :- | :- | :- | :- | :-: | :- |\n@@| blockSize | number | 是 | - | - | 只读属性,被监视元素含边框box的高度 |\n@@| inlineSize | number | 是 | - | - | 只读属性,被监视元素含边框box的宽度 |\n@| contentBoxSize | Array\\<**UniContentBoxSize**\\> | 是 | - | | 只读属性 包含被监视的元素内容box大小的数组。 |\n@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@| :- | :- | :- | :- | :-: | :- |\n@@| blockSize | number | 是 | - | - | 只读属性,被监视元素内容box的高度 |\n@@| inlineSize | number | 是 | - | - | 只读属性,被监视元素内容box的宽度 |\n@| devicePixelContentBoxSize | Array\\<**UniDevicePixelContentBoxSize**\\> | 是 | - | | 只读属性 包含被监视的元素内容box设备像素大小的数组。 |\n@@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@@| :- | :- | :- | :- | :-: | :- |\n@@| blockSize | number | 是 | - | - | 只读属性,被监视元素内容box的设备像素高度 |\n@@| inlineSize | number | 是 | - | - | 只读属性,被监视元素内容box的设备像素宽度 |\n@| contentRect | [DOMRect](/dom/domrect.md) | 是 | - | | 只读属性 包含被监视元素大小的DOMRect |\n@| target | [UniElement](/dom/unielement.md) | 是 | - | | 只读属性 被监视的 UniElement |\n","methods":{"disconnect":{"name":"#### disconnect() @disconnect","description":"取消所有的对 UniElement 目标的监视","param":"","returnValue":"","compatibility":"##### disconnect 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.17 | 4.13 | 4.18 |\n","tutorial":""},"observe":{"name":"#### observe(target) @observe","description":"监视指定 UniElement 大小变化","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| target | [UniElement](/dom/unielement.md) | 是 | - | | 被监视的 UniElement | \n","returnValue":"","compatibility":"##### observe 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.17 | 4.13 | 4.18 |\n","tutorial":""},"unobserve":{"name":"#### unobserve(target) @unobserve","description":"结束对指定的 UniElement 的监视","param":"##### 参数 \n\n| 名称 | 类型 | 必填 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| target | [UniElement](/dom/unielement.md) | 是 | - | | 取消监视的 UniElement | \n","returnValue":"","compatibility":"##### unobserve 兼容性 \n| Web | Android | iOS |\n| :- | :- | :- |\n| 4.17 | 4.13 | 4.18 |\n","tutorial":""}},"compatibility":"### UniResizeObserver 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| 4.17 | 4.13 | 4.18 |","example":"### 示例 \n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha/pages/API/resize-observer/resize-observer.uvue) \n ::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/API/resize-observer/resize-observer\n>Template\n```vue\n\r\n\r\n\r\n\r\n\n\n```\n>Script\n```uts\n\r\n export default {\r\n data() {\r\n return {\r\n outBoxSizeInfo: \"\",\r\n innerBoxSizeInfo: \"\",\r\n offset: 2,\r\n boxDisplay: false,\r\n outBoxElement: null as UniElement | null,\r\n innerBoxElement: null as UniElement | null,\r\n resizeObserver: null as UniResizeObserver | null,\r\n outBoxElementOnResize: false\r\n }\r\n },\r\n onBackPress() : boolean {\r\n if (this.resizeObserver != null) {\r\n this.resizeObserver!.disconnect()\r\n }\r\n return false\r\n },\r\n onReady() {\r\n if (this.resizeObserver == null) {\r\n this.resizeObserver = new UniResizeObserver((entries : Array) => {\r\n\r\n entries.forEach(entry => {\r\n if (entry.target == this.outBoxElement) {\r\n this.outBoxSizeInfo = this.analysisResizeObserverEntry(entry)\r\n this.outBoxElementOnResize = true\r\n } else if (entry.target == this.innerBoxElement) {\r\n this.innerBoxSizeInfo = this.analysisResizeObserverEntry(entry)\r\n }\r\n })\r\n })\r\n this.outBoxElement = uni.getElementById(\"outBox\")\r\n if (this.outBoxElement != null) {\r\n this.resizeObserver!.observe(this.outBoxElement!)\r\n }\r\n this.innerBoxElement = uni.getElementById(\"innerBox\")\r\n if (this.innerBoxElement != null) {\r\n this.resizeObserver!.observe(this.innerBoxElement!)\r\n }\r\n this.boxDisplay = true\r\n }\r\n },\r\n methods: {\r\n innerBoxClick() {\r\n if (this.innerBoxElement != null) {\r\n this.innerBoxElement!.style.setProperty(\"width\", this.innerBoxElement!.offsetWidth + this.offset + 'px')\r\n this.innerBoxElement!.style.setProperty(\"height\", this.innerBoxElement!.offsetWidth + this.offset + 'px')\r\n }\r\n },\r\n outBoxClick() {\r\n if (this.outBoxElement != null) {\r\n this.outBoxElement!.style.setProperty(\"width\", this.outBoxElement!.offsetWidth + this.offset + 'px')\r\n this.outBoxElement!.style.setProperty(\"height\", this.outBoxElement!.offsetWidth + this.offset + 'px')\r\n }\r\n },\r\n revertBoxSize() {\r\n if (this.outBoxElement != null) {\r\n this.outBoxElement!.style.setProperty(\"width\", \"140px\")\r\n this.outBoxElement!.style.setProperty(\"height\", \"140px\")\r\n }\r\n if (this.innerBoxElement != null) {\r\n this.innerBoxElement!.style.setProperty(\"width\", \"80px\")\r\n this.innerBoxElement!.style.setProperty(\"height\", \"80px\")\r\n }\r\n },\r\n //自动化测试专用\r\n setOutBoxMarginLeft(value : string) {\r\n if (this.outBoxElement != null) {\r\n this.outBoxElementOnResize = false\r\n this.outBoxElement!.style.setProperty(\"margin-left\", value)\r\n }\r\n },\r\n toggleDisplay() {\r\n this.boxDisplay = !this.boxDisplay\r\n },\r\n analysisResizeObserverEntry(entry : UniResizeObserverEntry) : string {\r\n const contentBoxSize = entry.contentBoxSize[0]\r\n const borderBoxSize = entry.borderBoxSize[0]\r\n const devicePixelContentBoxSize = entry.devicePixelContentBoxSize[0]\r\n return \"borderBoxSize: \\n{blockSize:\" + borderBoxSize.blockSize + \", inlineSize:\" + borderBoxSize.inlineSize + \"}\\n\" +\r\n \"contentBoxSize: \\n{blockSize:\" + contentBoxSize.blockSize + \", inlineSize:\" + contentBoxSize.inlineSize + \"}\\n\" +\r\n \"devicePixelContentBoxSize: \\n{blockSize:\" + devicePixelContentBoxSize.blockSize + \", inlineSize:\" + devicePixelContentBoxSize.inlineSize + \"}\\n\" +\r\n \"contentRect: \\n{x:\" + entry.contentRect.x + \", y:\" + entry.contentRect.y + \", width:\" + entry.contentRect.width + \", height:\" + entry.contentRect.height + \"}\"\r\n },\n cancelListen(){\n // this.resizeObserver?.unobserve()\n this.resizeObserver!.unobserve(this.outBoxElement!)\n this.resizeObserver!.unobserve(this.innerBoxElement!)\n },\n goOnListen(){\n this.resizeObserver!.observe(this.outBoxElement!)\n this.resizeObserver!.observe(this.innerBoxElement!)\n }\r\n }\r\n }\r\n\n```\n:::"},"UniResizeObserverEntry":{"name":"## UniResizeObserverEntry","description":"UniResizeObserverEntry 接口是传递给 UniResizeObserver() 构造函数中的回调函数参数的对象","extends":"","param":"\n### UniResizeObserverEntry 的属性值 @uniresizeobserverentry-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| borderBoxSize | Array\\<**UniBorderBoxSize**\\> | 是 | - | | 只读属性 包含被监视的元素带有边框box大小的数组。 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| blockSize | number | 是 | - | - | 只读属性,被监视元素含边框box的高度 |\n@| inlineSize | number | 是 | - | - | 只读属性,被监视元素含边框box的宽度 |\n| contentBoxSize | Array\\<**UniContentBoxSize**\\> | 是 | - | | 只读属性 包含被监视的元素内容box大小的数组。 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| blockSize | number | 是 | - | - | 只读属性,被监视元素内容box的高度 |\n@| inlineSize | number | 是 | - | - | 只读属性,被监视元素内容box的宽度 |\n| devicePixelContentBoxSize | Array\\<**UniDevicePixelContentBoxSize**\\> | 是 | - | | 只读属性 包含被监视的元素内容box设备像素大小的数组。 |\n@| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n@| :- | :- | :- | :- | :-: | :- |\n@| blockSize | number | 是 | - | - | 只读属性,被监视元素内容box的设备像素高度 |\n@| inlineSize | number | 是 | - | - | 只读属性,被监视元素内容box的设备像素宽度 |\n| contentRect | [DOMRect](/dom/domrect.md) | 是 | - | | 只读属性 包含被监视元素大小的DOMRect |\n| target | [UniElement](/dom/unielement.md) | 是 | - | | 只读属性 被监视的 UniElement |\n","compatibility":"### UniResizeObserverEntry 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |"},"UniBorderBoxSize":{"name":"## UniBorderBoxSize","description":"被监视的元素带有边框box的大小","extends":"","param":"\n### UniBorderBoxSize 的属性值 @uniborderboxsize-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| blockSize | number | 是 | - | - | 只读属性,被监视元素含边框box的高度 |\n| inlineSize | number | 是 | - | - | 只读属性,被监视元素含边框box的宽度 |\n","compatibility":"### UniBorderBoxSize 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |"},"UniContentBoxSize":{"name":"## UniContentBoxSize","description":"被监视的元素内容box的大小","extends":"","param":"\n### UniContentBoxSize 的属性值 @unicontentboxsize-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| blockSize | number | 是 | - | - | 只读属性,被监视元素内容box的高度 |\n| inlineSize | number | 是 | - | - | 只读属性,被监视元素内容box的宽度 |\n","compatibility":"### UniContentBoxSize 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |"},"UniDevicePixelContentBoxSize":{"name":"## UniDevicePixelContentBoxSize","description":"被监视的元素内容box的设备像素大小","extends":"","param":"\n### UniDevicePixelContentBoxSize 的属性值 @unidevicepixelcontentboxsize-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| blockSize | number | 是 | - | - | 只读属性,被监视元素内容box的设备像素高度 |\n| inlineSize | number | 是 | - | - | 只读属性,被监视元素内容box的设备像素宽度 |\n","compatibility":"### UniDevicePixelContentBoxSize 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| x | 4.13 | x |"},"UniError":{"name":"## UniError","description":"uni api统一错误信息对象 ","extends":"","param":"\n### 构造函数\n### 构造函数\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| message | string | 是 | - | - | 统一错误描述信息 |\n\n### 构造函数\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| message | string | 是 | - | - | 统一错误描述信息 |\n| options | [UTSJSONObject](/uts/buildin-object-api/utsjsonobject.md) | 是 | - | - | 源错误对象,原始错误对象应该包含在 options.cause 属性中 |\n\n### 构造函数\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| errCode | number | 是 | - | - | 统一错误码 |\n| errMsg | string | 是 | - | - | 统一错误描述信息 |\n\n### UniError 的属性值 @unierror-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| errSubject | string | 是 | - | - | 统一错误主题(模块)名称 |\n| errCode | number | 是 | - | - | 统一错误码 |\n| errMsg | string | 是 | - | - | 统一错误描述信息 |\n| data | any \\| null | 否 | - | - | 错误信息中包含的数据 |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) \\| null | 否 | - | - | UTS错误信息对象 |\n| name | string | 是 | - | - | - |\n| message | string | 是 | - | - | - |\n","compatibility":"### UniError 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"Error":{"name":"## Error","description":"UTS错误信息对象","extends":"","param":"\n### 构造函数\n### 构造函数\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| message | string | 是 | - | - | - |\n\n### 构造函数\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| message | string | 是 | - | - | - |\n| options | [UTSJSONObject](/uts/buildin-object-api/utsjsonobject.md) | 是 | - | - | - |\n\n### Error 的属性值 @error-values\n| 名称 | 类型 | 必备 | 默认值 | 兼容性 | 描述 |\n| :- | :- | :- | :- | :-: | :- |\n| name | string | 是 | - | - | - |\n| message | string | 是 | - | - | - |\n| cause | [Error](https://uniapp.dcloud.net.cn/tutorial/err-spec.html#unierror) \\| null | 否 | - | - | UTS错误信息对象 |\n","compatibility":"### Error 兼容性 \n | Web | Android | iOS |\n| :- | :- | :- |\n| - | - | - |"},"general-attribute":{"name":"组件公共属性","description":"","attribute":"| 名称 | 类型 | 描述 |\n| :- | :- | :- |\n| id | string(string.IDString) | 组件的唯一标识,一般用于获取组件上下文对象 |\n| style | string | 组件的内联样式,可以动态设置的内联样式 |\n| class | string(string.ClassString) | 组件的样式类,在对应的 css 中定义的样式类 |\n| ref | string | vue中组件的唯一标识,用来给子组件注册引用信息 |\n| data-* | any | 自定义属性,组件上触发的事件时,会发送给事件处理函数 |\n| android-* | any | App-Android平台专有属性,详见[App-Android平台专有属性](https://doc.dcloud.net.cn/uni-app-x/component/common.html#attribute-android)章节 |","compatibility":"| | Web | Android | iOS |\n| :- | :- | :- | :- |\n| id | 4.0 | 3.9 | 4.11 |\n| style | 4.0 | 3.9 | 4.11 |\n| class | 4.0 | 3.9 | 4.11 |\n| ref | 4.0 | 3.9 | 4.11 |\n| data-* | 4.0 | 3.9 | 4.11 |\n| android-* | x | 3.9 | x |","example":"### 示例 \n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha/pages/component/general-attribute/general-attribute.uvue) \n ::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/component/general-attribute/general-attribute\n>Template\n```vue\n\n\n\n\n\n\n```\n>Script\n```uts\n\nexport default {\n data() {\n return {\n title: 'general-attribute',\n generalId: 'general-id',\n generalClass: 'general-class',\n generalName: 'general-name',\n generalTitle: 'general-title',\n generalData: 'general-data',\n generalStyle: 'background-color: aqua',\n validateGeneralAttrText: '验证基础属性',\n hoverClass: 'hover-class',\n validateViewAttrText: '验证 view 属性',\n changeHeightByRefText: '通过 ref 修改高度',\n }\n },\n methods: {\n validateGeneralAttributes() {\n const generalTarget = this.$refs['general-target'] as UniElement\n const generalId = generalTarget.getAttribute('id')\n if (generalId != this.generalId) {\n this.validateGeneralAttrText = '基础属性 id 验证失败'\n return\n }\n // #ifdef APP\n if (!generalTarget.classList.includes('general-class')) {\n // #endif\n // #ifdef WEB\n if (!Array.from(generalTarget.classList).includes('general-class')) {\n // #endif\n this.validateGeneralAttrText = '基础属性 class 验证失败'\n return\n }\n const generalName = generalTarget.getAttribute('name')\n if (generalName != this.generalName) {\n this.validateGeneralAttrText = '基础属性 name 验证失败'\n return\n }\n const generalTitle = generalTarget.getAttribute('title')\n if (generalTitle != this.generalTitle) {\n this.validateGeneralAttrText = '基础属性 title 验证失败'\n return\n }\n const generalData = generalTarget.getAttribute('data-test')\n if (generalData != this.generalData) {\n this.validateGeneralAttrText = '基础属性 data-test 验证失败'\n return\n }\n this.validateGeneralAttrText = '基础属性验证成功'\n },\n changeHeight(){\n const generalTarget = this.$refs['general-target'] as UniElement\n this.changeHeightByRefText = '已通过 ref 修改高度'\n generalTarget.style.setProperty('height', '200px')\n }\n },\n}\n\n```\n:::"},"general-event":{"name":"组件公共事件","description":"","attribute":"| 名称 | 类型 | 描述 |\n| :- | :- | :- |\n| @click | (event: [UniPointerEvent](/component/common#unipointerevent)) => void | 手指触摸后马上离开。与tap相同,(推荐使用tap事件代替),冒泡事件 |\n| @mousedown | (event: [UniMouseEvent](/component/common#unimouseevent)) => void | 鼠标在元素上点击后触发 |\n| @mousemove | (event: [UniMouseEvent](/component/common#unimouseevent)) => void | 鼠标在元素上移动时触发 |\n| @mouseup | (event: [UniMouseEvent](/component/common#unimouseevent)) => void | 鼠标主按钮在元素上松开时触发 |\n| @touchstart | (event: [UniTouchEvent](/component/common#unitouchevent)) => void | 手指触摸动作开始,冒泡事件,event.type 值为 touchstart |\n| @touchmove | (event: [UniTouchEvent](/component/common#unitouchevent)) => void | 手指触摸后移动,冒泡事件,event.type 值为 touchmove |\n| @touchcancel | (event: [UniTouchEvent](/component/common#unitouchevent)) => void | 手指触摸动作被打断,如来电提醒,弹窗,冒泡事件,event.type 值为 touchcancel |\n| @touchend | (event: [UniTouchEvent](/component/common#unitouchevent)) => void | 手指触摸动作结束,冒泡事件,event.type 值为 touchend |\n| @tap | (event: [UniPointerEvent](/component/common#unipointerevent)) => void | 手指触摸后马上离开,冒泡事件 |\n| @longpress | (event: [UniTouchEvent](/component/common#unitouchevent)) => void | 如果一个组件被绑定了 longpress 事件,那么当用户手指触摸后,超过350ms再离开会触发,冒泡事件 |\n| @longtap | (event: [UniTouchEvent](/component/common#unitouchevent)) => void | 手指触摸后,超过350ms再离开(推荐使用 longpress 事件代替) |\n| @transitionend | (event: [UniEvent](/component/common#unievent)) => void | transition 效果结束时触发 |","compatibility":"| | Web | Android | iOS |\n| :- | :- | :- | :- |\n| @click | 4.0 | 3.9 | 4.11 |\n| @mousedown | 4.0 | x | x |\n| @mousemove | 4.0 | x | x |\n| @mouseup | 4.0 | x | x |\n| @touchstart | 4.0 | 3.9 | 4.11 |\n| @touchmove | 4.0 | 3.9 | 4.11 |\n| @touchcancel | 4.0 | 3.9 | 4.11 |\n| @touchend | 4.0 | 3.9 | 4.11 |\n| @tap | 4.0 | 3.9 | 4.11 |\n| @longpress | 4.0 | 3.9 | 4.11 |\n| @longtap | 4.0 | 3.9 | 4.11 |\n| @transitionend | 4.0 | 3.93 | 4.11 |","example":"### 示例 \n> [hello uni-app x](https://gitcode.net/dcloud/hello-uni-app-x/-/blob/alpha/pages/component/general-event/general-event.uvue) \n ::: preview https://hellouniappx.dcloud.net.cn/web/#/pages/component/general-event/general-event\n>Template\n```vue\n\n changedTouches: \n \n touch[{{ index }}]:\n \n identifier: \n {{\n touch.identifier\n }}\n \n \n pageX: \n {{ touch.pageX }}\n \n \n pageY: \n {{ touch.pageY }}\n \n \n clientX: \n {{\n touch.clientX\n }}\n \n \n clientY: \n {{\n touch.clientY\n }}\n \n \n screenX: \n {{\n touch.screenX\n }}\n \n \n screenY: \n {{\n touch.screenY\n }}\n \n \n \n \n touchCancel Event: \n touches: \n \n touch[{{ index }}]:\n \n identifier: \n {{\n touch.identifier\n }}\n \n \n pageX: \n {{ touch.pageX }}\n \n \n pageY: \n {{ touch.pageY }}\n \n \n clientX: \n {{ touch.clientX }}\n \n \n clientY: \n {{ touch.clientY }}\n \n \n screenX: \n {{ touch.screenX }}\n \n \n screenY: \n {{ touch.screenY }}\n \n \n changedTouches: \n \n touch[{{ index }}]:\n \n identifier: \n {{\n touch.identifier\n }}\n \n \n pageX: \n {{\n touch.pageX\n }}\n \n \n pageY: \n {{\n touch.pageY\n }}\n \n \n clientX: \n {{\n touch.clientX\n }}\n \n \n clientY: \n {{\n touch.clientY\n }}\n \n \n screenX: \n {{\n touch.screenX\n }}\n \n \n screenY: \n {{\n touch.screenY\n }}\n \n \n \n \n touchMove Event: \n touches: \n \n touch[{{ index }}]:\n \n identifier: \n {{ touch.identifier }}\n \n \n pageX: \n {{ touch.pageX }}\n \n \n pageY: \n {{ touch.pageY }}\n \n \n clientX: \n {{ touch.clientX }}\n \n \n clientY: \n {{ touch.clientY }}\n \n \n screenX: \n {{ touch.screenX }}\n \n \n screenY: \n {{ touch.screenY }}\n \n \n changedTouches: \n \n touch[{{ index }}]:\n \n identifier: \n {{\n touch.identifier\n }}\n \n \n pageX: \n {{ touch.pageX }}\n \n \n pageY: \n {{ touch.pageY }}\n \n \n clientX: \n {{\n touch.clientX\n }}\n \n \n clientY: \n {{\n touch.clientY\n }}\n \n \n screenX: \n {{\n touch.screenX\n }}\n \n \n screenY: \n {{\n touch.screenY\n }}\n \n \n \n \n touchEnd Event: \n touches: \n 0\"\n v-for=\"(touch, index) in touchEndEvent!.touches\"\n :key=\"index\"\n >\n touch[{{ index }}]:\n \n identifier: \n {{ touch.identifier }}\n \n \n pageX: \n {{ touch.pageX }}\n \n \n pageY: \n {{ touch.pageY }}\n \n \n clientX: \n {{ touch.clientX }}\n \n \n clientY: \n {{ touch.clientY }}\n \n \n screenX: \n {{ touch.screenX }}\n \n \n screenY: \n {{ touch.screenY }}\n \n \n changedTouches: \n \n touch[{{ index }}]:\n \n identifier: \n {{\n touch.identifier\n }}\n \n \n pageX: \n {{ touch.pageX }}\n \n \n pageY: \n {{ touch.pageY }}\n \n \n clientX: \n {{\n touch.clientX\n }}\n \n \n clientY: \n {{\n touch.clientY\n }}\n \n \n screenX: \n {{\n touch.screenX\n }}\n \n \n screenY: \n {{\n touch.screenY\n }}\n \n \n \n \n longPress Event: \n touches: \n 0\"\n v-for=\"(touch, index) in longPressEvent!.touches\"\n :key=\"index\"\n >\n touch[{{ index }}]:\n \n identifier: \n {{ touch.identifier }}\n \n \n pageX: \n {{ touch.pageX }}\n \n \n pageY: \n {{ touch.pageY }}\n \n \n clientX: \n {{ touch.clientX }}\n \n \n clientY: \n {{ touch.clientY }}\n \n \n screenX: \n {{ touch.screenX }}\n \n \n screenY: \n {{ touch.screenY }}\n \n \n changedTouches: \n \n touch[{{ index }}]:\n \n identifier: \n {{\n touch.identifier\n }}\n \n \n pageX: \n {{ touch.pageX }}\n \n \n pageY: \n {{ touch.pageY }}\n \n \n clientX: \n {{\n touch.clientX\n }}\n \n \n clientY: \n {{\n touch.clientY\n }}\n \n \n screenX: \n {{\n touch.screenX\n }}\n \n \n screenY: \n {{\n touch.screenY\n }}\n \n \n \n \n tap Event: \n \n x: \n {{ tapEvent!.x }}\n \n \n y: \n {{ tapEvent!.y }}\n \n \n \n click Event: \n \n x: \n {{ clickEvent!.x }}\n \n \n y: \n {{ clickEvent!.y }}\n \n \n \n \n \n \n\n\n\n\n\n```\n>Script\n```uts\n\nexport default {\n data() {\n return {\n title: 'general-event',\n touchStartEvent: null as TouchEvent | null,\n touchCancelEvent: null as TouchEvent | null,\n touchMoveEvent: null as TouchEvent | null,\n longPressEvent: null as TouchEvent | null,\n touchEndEvent: null as TouchEvent | null,\n tapEvent: null as PointerEvent | null,\n clickEvent: null as PointerEvent | null,\n }\n },\n methods: {\n onTouchStart(e : TouchEvent) {\n this.touchStartEvent = e\n console.log('onTouchStart', e)\n },\n onTouchCancel(e : TouchEvent) {\n this.touchCancelEvent = e\n console.log('onTouchCancel')\n },\n onTouchMove(e : TouchEvent) {\n this.touchMoveEvent = e\n console.log('onTouchMove', e)\n },\n onLongPress(e : TouchEvent) {\n this.longPressEvent = e\n console.log('onLongPress', e)\n },\n onTouchEnd(e : TouchEvent) {\n this.touchEndEvent = e\n console.log('onTouchEnd', e)\n },\n onTap(e : PointerEvent) {\n this.tapEvent = e\n console.log('onTap', e)\n },\n onClick(e : PointerEvent) {\n this.clickEvent = e\n console.log('onClick', e)\n },\n },\n}\n\n```\n:::"}} \ No newline at end of file