列表出现后是否可以从 ZK 组合框中移除焦点?
Is it possible to remove focus from ZK combobox after list appears?
IE 10 有一个错误
https://connect.microsoft.com/IE/feedback/details/841043/blinking-text-cursor-overlapping-with-div
但我需要以某种方式删除 ZKoss Combobox
中闪烁的光标。主要想法是从输入中移除焦点并尝试将其放入弹出列表。我认为如果焦点将被移除,闪烁的光标不会出现在弹出列表后面。
如何在弹出列表出现后从组合框的输入中移除焦点?可能吗?
我的提示是将组合框设置为只读。
如果不行,可以尝试高亮combobox的值
我用它来获得诀窍,在 .zul 中:
<combobox onFocus="@command('setFocusOnRow', evt=event)" />
这在视图模式中:
@Command
public void setFocusOnRow(@BindingParam("evt") Event event) {
Combobox c = (Combobox) event.getTarget();
// select: highlight the value
c.select();
}
但是,我上次使用它时使用 Chrome 没有用。
看来我解决了!
重点是重写 ZKoss 的 Combobox
.
方法 open
var _Cwgt = {};
zk.override(zul.inp.Combobox.prototype, _Cwgt, {
open: function (silent) {
var id = '#' + this.uuid + '-pp'; // get id of popup
_Cwgt.open.apply(this, arguments); // call original
jq(id).focus(); // give focus to the popup
}
});
IE 10 有一个错误 https://connect.microsoft.com/IE/feedback/details/841043/blinking-text-cursor-overlapping-with-div
但我需要以某种方式删除 ZKoss Combobox
中闪烁的光标。主要想法是从输入中移除焦点并尝试将其放入弹出列表。我认为如果焦点将被移除,闪烁的光标不会出现在弹出列表后面。
如何在弹出列表出现后从组合框的输入中移除焦点?可能吗?
我的提示是将组合框设置为只读。
如果不行,可以尝试高亮combobox的值
我用它来获得诀窍,在 .zul 中:
<combobox onFocus="@command('setFocusOnRow', evt=event)" />
这在视图模式中:
@Command
public void setFocusOnRow(@BindingParam("evt") Event event) {
Combobox c = (Combobox) event.getTarget();
// select: highlight the value
c.select();
}
但是,我上次使用它时使用 Chrome 没有用。
看来我解决了!
重点是重写 ZKoss 的 Combobox
.
var _Cwgt = {};
zk.override(zul.inp.Combobox.prototype, _Cwgt, {
open: function (silent) {
var id = '#' + this.uuid + '-pp'; // get id of popup
_Cwgt.open.apply(this, arguments); // call original
jq(id).focus(); // give focus to the popup
}
});