当我单击组合框时,选项会在此组合框下方打开
当我在鼠标滚轮的帮助下滚动窗口时,窗口正在向下滚动,但组合框选项出现在同一个地方。此组合框选项值下方显示在中间名下方
看这里了解详情点击这里
小提琴示例在这里
这似乎是一个已知问题(请参阅 tracker),目前您需要自己同步位置。
例如,
<zk>
<script><![CDATA[
function addSyncScroll (wgtId, parentId, add) {
var wgt = zk.Widget.$('#'+wgtId),
parentWgt = zk.Widget.$('#'+parentId);
if (wgt && parentWgt) {
var cbxToSync = parentWgt._cbxToSync,
idx;
if (!cbxToSync) {
initSyncScroll(parentWgt);
}
cbxToSync = parentWgt._cbxToSync;
if (cbxToSync) {
if (!wgt._syncPopupScroll) {
wgt._syncPopupScroll = function () {
zk(wgt.getPopupNode_()).position(wgt.getInputNode(), "after_start");
}
}
if (add) {
if (cbxToSync.indexOf(wgt) < 0)
cbxToSync.push(wgt);
} else {
if ((idx = cbxToSync.indexOf(wgt) < 0) > -1) {
cbxToSync.splice(idx, 1);
}
}
}
}
}
function initSyncScroll (parentWgt) {
parentWgt._cbxToSync = [];
parentWgt.$n().onscroll = function (event) {
var cbxToSync = parentWgt._cbxToSync;
for (var i = 0; i < cbxToSync.length; i++) {
cbxToSync[i]._syncPopupScroll();
}
}
}
]]></script>
<div width="200px" height="300px">
<div id="parent" width="100%" vflex="1" style="overflow:auto;">
<label value="Some text" />
<textbox value="01" />
<textbox value="02" />
<textbox value="03" />
<combobox>
<attribute name="onOpen"><![CDATA[
Clients.evalJavaScript("addSyncScroll('"+self.getUuid()+"', '"+parent.getUuid()+"', "+self.isOpen()+")");
]]></attribute>
<comboitem label="Simple and Rich" />
<comboitem label="Cool!" />
<comboitem label="Ajax and RIA" />
</combobox>
<textbox value="04" />
<textbox value="05" />
<textbox value="06" />
<textbox value="07" />
<textbox value="08" />
<textbox value="09" />
<textbox value="10" />
<textbox value="11" />
<textbox value="12" />
<textbox value="13" />
<textbox value="14" />
<textbox value="15" />
</div>
</div>
</zk>
这是 ZK 中的一个已知问题,您可以在此处查看ZK Issue trcker
可能需要一些时间,在未来的版本中,我们将得到一些解决方法,根据@Ben 的说法,它将在未来修复。