输入触发器接口
API 允许根据其他元素的状态更改元素的可见性或状态(启用/禁用)。示例:如果选中另一个元素内的任何复选框,则启用按钮。
Example
检查条件
<input type="checkbox" id="triggerChk1" />
<button class="btn disabled"
data-trigger-action="enable"
data-trigger="#triggerChk1"
data-trigger-condition="checked">
Check the checkbox
</button>
值条件
<p>
<input
type="text"
id="triggerTxt1"
value=""
onkeyup="$(this).trigger('change')"
placeholder="Enter 'foo' or 'bar' here"
class="form-control" />
</p>
<div
class="callout callout-success"
data-trigger-action="show"
data-trigger="#triggerTxt1"
data-trigger-condition="value[foo][bar]">
<div class="content">
Passphrase is valid!
</div>
</div>
支持的数据属性
- 数据触发动作,值:显示、隐藏、启用、禁用、空
- data-trigger:用于触发操作的元素的 CSS 选择器(复选框)
- 数据触发条件,值:
- 已检查:确定数据触发器中指定的元素应满足的条件,以便将条件视为“真”。
- unchecked:“checked”的逆条件。
- value[somevalue]:确定数据触发的值是否等于指定值(somevalue)条件被认为是“真”。
- data-trigger-closest-parent:可选,为源和目标输入元素的最接近公共父级指定 CSS 选择器。
示例代码:
<input type="button" class="btn disabled"
data-trigger-action="enable"
data-trigger="#cblist input[type=checkbox]"
data-trigger-condition="checked" ... >
支持多项操作:
data-trigger-action="hide|empty"
支持多值条件:
data-trigger-condition="value[foo][bar]"
支持的事件
- oc.triggerOn.update - 触发更新。在插件绑定到的元素上触发此事件以强制它检查条件并更新自身。这在使用 AJAX 更新页面内容时很有用。
- oc.triggerOn.afterUpdate - 在元素更新后触发
JavaScript API
$('#mybutton').triggerOn({
triggerCondition: 'checked',
trigger: '#cblist input[type=checkbox]',
triggerAction: 'enable'
})