JavaScript
使用 data 属性,将JavaScript应用于 UIkit 的组件。
你只需要在HTML元素中添加 data-uk-*
属性就能使用所有的UIKIT组件,而无需无需编写一行 JavaScript。这是在 UIkit 中使用任意组件时应当首先考虑的最佳做法。
Markup
<button data-uk-button>My Button</button>
当然你仍然可以通过使用 JQuery 的 API 来使用这些组件。
Markup
$(".button").uk("button");
AMD 支持
AMD (异步模块定义) 是一种定义 JavaScript 模块以及模块之间的依赖性的方式,因此他们可以通过异步加载的方式来使用。
用法
/* UIkit 核心的简单请求 */
require("path/to/uikit.js", function(UI){
// UI 是UIkit的全局对象,又名 $.UIkit
});
自动加载 UIkit 及附加组件
/* 首先建立 require.js */
requirejs.config({
paths: {
"uikit": 'path/to/uikit.js'
},
config: {
"uikit": {
"base": "path/to/uikit_dist_folder"
}
}
});
/* 现在,你可以自动加载UIkit和附加组件了,用逗号隔开。 */
require("uikit!notify,sortable", function(UI){
// 访问已加载的附加组件: UI.notify, UI.sortable
});
覆写默认的组件设置
调整默认的组件设置是可行的,你可以看一下下面的例子:
用法
// 覆写默认的工具提示设置
UIkit.on('beforeready.uk.dom', function(){
$.extend(UIkit.components.tooltip.prototype.defaults, {
pos: 'top',
delay: 500,
animation: true
});
});
监视DOM,通过诸如AJAX的方式自动初始化新添加的组件。
如果你希望通过JavaScript动态地将HTML标签注入到DOM中,只需要添加 data-uk-observe
属性到一个父元素中,就能自动地初始化UIkit的JavaScript组件。
用法
<div data-uk-observe>
<!-- 在此注入你的动态HTML -->
</div>
通过JavaScript监视元素
UIkit.domObserve('#element', function(element) { /* 适用于元素内部的DOM改变 */ })
基于可见性变化,检测显示事件/Check Display event on visibility change.
有时,一些组件,比如 网格 或 选项卡 被隐藏在标签中。这或许是与 切换器, 模态对话框 或者 下拉菜单 组合使用是发生的。一旦它们变得可见,他们需要被重新计算修改高度或者其他外形尺寸。
为此,添加 data-uk-check-display
属性到需要重新处理的元素中。现在,它们监听由容器组件触发的 display.uk.check
事件,比如切换器。带有 data-uk-margin
, data-uk-grid-margin
和 data-uk-grid-match
属性的元素不需要添加这个属性,因为它此时是默认触发的。
Usage
<!-- 一个位于模态对话框、切换器或者下拉菜单中的元素 -->
<div id="myelement" data-uk-check-display>...</div>
<script>
$("#myelement").on('display.uk.check', function(){
// 自定义的代码,用于调整显示的高度等
});
</script>