Safari 開発者ライブラリは次のように述べています。
Web ページで select HTML 要素を使用すると、iOS は、入力デバイスとして指を使用してリスト内の項目を選択するために最適化されたカスタム選択コントロールを表示します。
それが私が質問している「カスタム選択コントロール」です(私はそれを「ネイティブ」コントロールと呼んでいます)。参照ページには、「前」、「次」、「完了」を含む素敵な写真があります。ボタン。
選択リストがあります:
<select id="selected_item_selector">
<option value="1">first item</option>
<option value="2">second item</option>
<option value="#">Add a new item</option>
<select>
と言うjavascript:
$(function() {
var sel = $('#selected_item_selector');
sel.change(function(e) {
var selectedItemForm = $('#select_item_form'),
id = $(this).val(),
href = '/add-item.html';
if(id == '#') {
document.location.href = href;
}
/* do something with the id */
});
if(sel.val() == '#') {
/* never have the "add" option selected */
sel.val(0);
}
});
したがって、すべてが期待どおりに機能し、コードに問題はありません!!!!
これが問題です: ブラウザーが新しいページに移動すると、「カスタム選択コントロール」が開いたままになり、現在ブラウザーにあるページに接続されていないアクションが提案されます。
解決策として私が望むことは次のとおりです: ページをアンロードするとき、または新しいページをロードするときに、JavaScript コードから「カスタム選択コントロール」(別名「ネイティブ」コントロール) を閉じる方法を教えてください。