私は希望がありませんが、念のために尋ねます。iOS上のJavaScript:HTML選択要素を開く
モバイルSafari for iPhone/iPadでJavaScriptを使用して選択要素を開くことができます。
大量のGoogle /スタックオーバーフロー検索では、一般的にブラウザでこれを行うことができるようにすることを希望していますが、サポートされていません(理由は分かりません)。 をselect要素に呼び出し、そのsize
のプロパティを変更してoption
要素を表示させるか、<div>
と<ul>
要素の完全モック選択要素を作成するなど、さまざまなハッキングが提案されています。しかし、iPadとiPhoneのネイティブブラウザの選択コントロールを使用するのが好きです。
これを行うにはApple独自のWebKitメソッドを知っている人がいるかもしれません。 select要素は、現在オープン/アクティブであるか否かと言う
ボーナスとしてvar myselect = document.getElementsByTagName("select")[0];
myselect.open(); // this method doesn't exist
、また、ブール型プロパティを知っていると便利だろう(つまり、だけではない要素かどうか:それのようなものになるだろう焦点がある)。クリックイベントや変更イベントを追跡することでこれを解決できることはわかっていますが、単純なプロパティが役立ちます。
賢明な考えですか?
UPDATE:
私はまだ答えを持っていないが、私はmousedown
をシミュレートすることに成功しそうでGoogle Chromeのselect要素を開きますが、ないiPadやFirefoxとすることを発見しました:
function simulateMouseEvent(eventName, element) {
var evt = document.createEvent("MouseEvents");
evt.initMouseEvent(eventName, true, true, window,
0, 0, 0, 0, 0, false, false, false, false, 0, null);
element.dispatchEvent(evt);
}
simulateMouseEvent("mousedown", select);
UPDATE:私はここに選択ボックスに関連するが、異なる(!と同様に未回答)の質問をしてきました
:Is there a DOM event that fires when an HTML select element is closed?
を見ることができないあなたはその要素をクリック/タップを強制できますか? – Seth
達成したい効果を教えてください。ユーザーのための付加価値とはどういう意味ですか? – mplungjan
@セス - どう? @mplungjan - SVGベースのデータビジュアライゼーションアプリケーションで、さまざまなジェスチャーが異なる結果を引き起こす可能性があります。たとえば、ユーザーは画面上で円をドラッグすることができますが、同じサークルに指のタップが1つ与えられている場合は、選択肢の多い選択ボックスが表示されます。私は2つのクリックを必要としたくありません:1つは選択/フォーカスに、1つはオプションを表示することです。私はselect要素をユーザーがやりとりする要素にすることができるので、クリックすると開き、select要素がドラッグされた場合は円要素を移動できますが、可能ならばそれを避けることをお勧めします。 – Premasagar