Combobox 是可触发的浮层组件。封装了当用户点击、hover、focus 到指定元素时,可以触发另一个浮层显示的行为,点击页面空白处浮层消失等等特性。
Combobox 继承了 Overlay,可使用其中属性和方法。
element|string
¶弹出的浮层元素。也可以使用 template 参数传递模板来代替这个参数。
element|string
¶触发元素。
string
¶触发类型,可选[hover|click|focus],默认为 hover。
number
¶延迟 hover 触发显示的时长,默认 70 毫秒。设为-1
时,表示 Combobox 没有延迟显示和隐藏因素而变为 tooltip 的效果。
boolean
¶是否能触发弹出效果,可用.set('disabled', true)
进行开关。
object
¶定位参数。
var Combobox = FNX.include('combobox/combobox');
var example = new Combobox({
trigger: '#triggerId',
element: '#targetId'
});
需要 tooltip 效果的请如下调用:
var Combobox = FNX.include('combobox/combobox');
var example = new Combobox({
trigger: '#triggerId',
element: '#targetId',
delay: -1
});
另外,Popup 已从 Overlay 继承了窗口改变大小后浮层重新定位等被动属性。
当有多个触发元素,而弹出层是同一个,而且内容是根据不同触发元素而不同时,可以用下面的方式进行绑定:
var Combobox = FNX.include('combobox/combobox');
new Combobox({
trigger: '.triggerClass', // 有多个触发元素
element: '#combobox'
}).before('show', function() {
// 通过 activeTrigger 拿到当前触发的触发元素
var content = this.activeTrigger.html();
// 动态设定内容
this.element.html(content);
});