创建一个统一样式的复选框元素,或者解析转换页面上特定类型的 label 标签为复选框元素。
function createCheckbox(opts?: CheckboxOptions): HTMLElement
复选框初始参数,结构为
interface CheckboxOptions {
type?: string;
label?: string;
checked?: boolean;
isImage?: boolean;
imageHeight?: Number;
checkedNode?: HTMLElement;
uncheckedNode?: HTMLElement;
customerAttributes?: { [key: string]: string };
onchange?: (this: HTMLInputElement, ev: Event) => any;
}
复选框图标的样式,可选值目前有 fa-regular、fa-light、fa-solid
复选框的标签文本,或者想要呈现的元素
初始是否选中
是否为图片复选框
为图片复选框时的图片限制高度
为图片复选框时的选中时显示的元素
为图片复选框时的未选中时显示的元素
自定义属性,例如
{
'data-id': 'xxxxxx',
'disabled': ''
}
复选框改变时触发的事件
function resolveCheckbox(container?: HTMLElement, legacy?: boolean): HTMLElement
将把此 HTML 元素,为 null 则把 document.body 下的所有 label[data-checkbox] 元素解析为复选框,[data-id] 为复选框元素的
id,包含
[data-checked] 时复选框默认选中。
当该元素无子元素时,[data-type] 同上述参数中的 type?: string,[data-label] 同上述参数中的
label?: string。
当该元素有子元素时,解析为图片复选框,class 为 checked、unchecked 的子元素将分别在选中与未选中时显示。
是否开启兼容模式,启用兼容模式时将试图匹配 input[type="checkbox"] 标签,与其周围的 label,将其转换为统一样式的复选框。
<div id="checkbox-sample">
<!-- 1 -->
<label data-checkbox data-type="fa-light" data-label="Checkbox Light"></label>
<!-- 2 -->
<label data-checkbox data-checked data-label="Checkbox Regular"></label>
<!-- 3 -->
<label data-checkbox data-type="fa-solid" data-label="Checkbox Solid"></label>
<!-- 4 -->
<label data-checkbox>
<code class="checked">Checked</code>
<code class="unchecked">Unchecked</code>
</label>
<!-- 5 -->
<input id="check-status" type="checkbox"/>
<label for="check-status">Label for Status</label>
</div>
<script type="text/javascript">
window["lib-ui"].resolveCheckbox(document.querySelector("#checkbox-sample"), true);
</script>