如何自动选择蓝色而不是灰色的<option> s

时间:2015-10-27 10:33:28

标签: javascript jquery html

我正在尝试一个简单的网站功能,其中包含一些选项。我想仅允许使用键盘编号进行选择,但在系统中我尝试使用此功能(Internet Explorer Mobile)我无法在没有至少单击选项的情况下执行此操作。

代码如下:

<body>
    Press a key to select an option

    <select id="choose" size="7">
        <option value="1">Volvo</option>
        <option value="2">Saab</option>
        <option value="3">Opel</option>
        <option value="4">Audi</option>
        <option value="5">Citroen</option>
    </select>

    <script type="text/javascript">
        $(document).ready(function() {
            $("#choose").prop("selectedIndex", 3); 
            $(document).keydown(function(e) {   
                if (e.which > 48 && e.which < 54) {
                    $("#choose").val(e.which - 49);
                }if (e.keyCode > 48 && e.keyCode < 54) {
                    $("#choose").val(e.keyCode - 49);
                }
            });
        });             
    </script>
</body>

它可以在Chrome上运行,但我注意到页面在所选选项上加载了一个奇怪的灰色背景 Grey selection
 而不是正常的蓝色,点击后显示为blue selection

不幸的是,Internet Explorer Mobile似乎无法识别灰色选项背景,而在点击它之后(从而将背景从灰色变为蓝色)键盘选择&#34;效果很好。

如果页面加载,如何首先将选项背景设为蓝色?

1 个答案:

答案 0 :(得分:3)

使用.focus()

$("#choose").prop("selectedIndex", 3).focus();

或简单地设置值如:

$("#choose").val(3).focus();