3

メニューとして選択リストがあるAndroidでモバイルウェブサイトを開発しています。

選択リストは表示領域の外側に配置されており、divをクリックして、ブラウザのオプションでポップアップを切り替えたいと思います。

ビューを開いて値を選択する方法はすでに何百万も試しましたが、どれも成功しませんでした...少し調べた後、Androidデバイスで.focus()関数が無効になっていることをstackoverflowで読みました。

私はこのコードがIOSで機能することを知っています:

$(document).ready(function(){
    $("#navigation").click(function(){
        $("#mobileMenu").focus();
    });
});

次のhtmlで:

<select id="mobileMenu">
    <option value="link1" onclick='openMobileMenuLink' >link one</option>
    <option value="link2" onclick='openMobileMenuLink' >link two</option>
    <option value="link3" onclick='openMobileMenuLink' >link three</option>
</select>

コードを破壊せずにAndroidデバイス(Chromeでテストしています)でオプションパースペクティブを開く方法はありますか(IOSで正常に動作します)。

4

2 に答える 2

4

私は最終的に解決策を見つけました:

div をタップすると、js でクリック イベントが生成されます。

<div onclick="generateSelectDropDown()">

上記の div は次の関数を呼び出します。

window.generateSelectDropDown = function () { 
    var dropdown = document.getElementById('mobileMenu');
    showDropdown(dropdown);
};  

showDropdown = function (element) {
    var event;
    event = document.createEvent('MouseEvents');
    event.initMouseEvent('mousedown', true, true, window);
    element.dispatchEvent(event);
};
于 2013-03-22T17:49:45.687 に答える
-1

これがiOSで引き続き機能するかどうかはわかりませんが、そうなるはずです...

$(document).ready(function(){
    $("#navigation").click(function(){
        $("#mobileMenu").click();
    });
});
于 2013-02-07T17:21:51.273 に答える