我已经使用以下 HTML 设置了一个 jQuery UI 组合框:
<select id="myDropdown" ></select>
这个javascript:
function populateDropdown(data)
{
renderDropDown($("#myDropdown"), data, onDropdownChange, null);
}
和
function renderDropDown($control, items, callback, selectedCode) {
$control.find("option").remove();
$.each(items, function (i, item) {
$control.append((item.code === selectedCode ? OPTION_TEMPLATE_SELECTED : OPTION_TEMPLATE)(item));
});
$control.combobox().off("change").on("change", callback);
$(".ui-combobox-input ").off("keydown").on("keydown", disableBackspace);
}
在您打开下拉菜单然后调整窗口大小之前,这绝对可以正常工作。下拉菜单中打开部分中的项目在浏览器围绕它调整大小时完全保持在屏幕上的位置。
我已经尝试连接到 windows.resize 事件并隐藏项目并删除下拉列表中的项目,但这并不能解决问题。