次の 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 イベントにフックしてアイテムを非表示にし、ドロップダウン内のアイテムを削除しようとしましたが、問題は解決しません。