当前位置:  开发笔记 > 编程语言 > 正文

是否可以使用JS打开HTML选择以显示其选项列表?

如何解决《是否可以使用JS打开HTML选择以显示其选项列表?》经验,为你挑选了4个好方法。

是否可以使用JavaScript打开HTML选项以显示其选项列表?



1> Gareth..:

不幸的是,对这个问题有一个简单的答案,它是"不"


确定吗?
我也希望我能以编程方式为键盘用户打开一个选择.在Firefox中,更改事件在选择失去焦点之前不会触发,如果菜单实际上没有打开,则在选项卡关闭时它不会选择任何内容.LAME-O!
@Amit在Chrome中不再起作用(使用v55)

2> 小智..:

这适用于Google Chrome

dropDown = function (elementId) {
    var dropdown = document.getElementById(elementId);
    try {
        showDropdown(dropdown);
    } catch(e) {

    }
    return false;
};

showDropdown = function (element) {
    var event;
    event = document.createEvent('MouseEvents');
    event.initMouseEvent('mousedown', true, true, window);
    element.dispatchEvent(event);
};


不幸的是,它现已在[Chrome 53+]上弃用(https://www.chromestatus.com/features/57188​​03933560832)
不适合我.
仅供参考:它确实适用于Chrome 35.0.1916.153确保您传递的是实际元素,而不是jQuery obj.
在Windows上无法使用Chrome 59.

3> 小智..:

我有这个问题......并找到了一个可行的解决方案.

在用户点击一些纯HTML之前,我不希望显示选择框.所以我用select覆盖了select元素opacity=.01.点击后,我将其改回opacity=100.这允许我隐藏选择,当用户单击文本时,选择出现时显示选项.


这不仅仅是隐藏/显示实际的选择字段吗?问题是关于显示/打开选项列表.
这并没有回答这个问题,但是它提供了一种解决方法,用于在仍然提供本机控件的同时设置的不透明度设置为0,则当用户单击不可见选择时,选项的下拉菜单将正常显示.

4> 小智..:

我用这个...但它要求用户点击选择框...

这是2个javascript函数

function expand(obj)
{
    obj.size = 5;
}
function unexpand(obj)
{
    obj.size = 1;
}

然后我创建选择框

 

我知道这段代码有点晚了,但我希望它可以帮助那些和我有同样问题的人.

ps/fyi我没有测试上面的代码(我动态创建我的选择框),我写的代码只在FireFox中测试过.


@DarrylHein:在这种情况下,它不只是___an__ option_,它是5`
推荐阅读
臭小子
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有