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

如何以编程方式告诉HTML SELECT下拉(例如,由于鼠标悬停)?

如何解决《如何以编程方式告诉HTMLSELECT下拉(例如,由于鼠标悬停)?》经验,为你挑选了7个好方法。

如何以编程方式告诉HTML select下拉(例如,由于鼠标悬停)?



1> Xavier Ho..:

这实际上可以使用HTML + Javascript,尽管其他人都说它不是.

但是,这仅适用于Chrome.如果您有兴趣,请阅读更多内容.


根据W3C HTML5工作草案,第3.2.5.1.7节.互动内容:

HTML中的某些元素具有激活行为,这意味着用户可以激活它们.这会触发一系列依赖于激活机制的事件,例如使用键盘或语音输入,或通过鼠标点击.

当用户以非点击方式触发具有已定义激活行为的元素时,交互事件的默认操作必须是对元素执行合成点击激活步骤.


?

使用Javascript:

// 
        
        
        
        
        
      


4> rp...:

您不能使用HTML select标记执行此操作,但可以使用JavaScript HTML执行此操作.有各种各样的现有控件执行此操作 - 例如,附加到SO"有趣/忽略标记"条目的"建议"列表,或Gmail查找电子邮件地址.

有许多JavaScript + HTML控件提供此功能 - 寻找自动完成控件的想法.

请参阅此链接以获取自动完成控制... http://ajaxcontroltoolkit.codeplex.com/


这真是令人遗憾的遗憾-移动浏览器提供了特定于操作系统的滚动列表,我需要自动弹出该列表。

5> Rafael Umbel..:

我有同样的问题,我发现解决这个问题的简单方法是使用html和css.

select{
  opacity: 0;
  position: absolute;
}



6> 小智..:

我认为这在Chrome中不再可行.

似乎版本53的chrome禁用了Asim K T所述的功能.

根据规范 http://www.w3.org/TR/DOM-Level-3-Events/#trusted-events

受信任事件不应触发默认操作(单击事件除外).

然而,他们已经在webview中启用了它,但我没有对此进行测试.

我们发现一些网页浏览器正在使用其中的快速点击,并且由于存在破损的风险,即使它们不受信任,我们也会允许选择mousedown.

在这个讨论中,让开发人员以编程方式打开下拉列表的想法被放弃了.



7> Hemant_Negi..:

如果有人还在寻找这个:



使用Javascript:

var is_visible=false; 

$(document).ready(function(){

    $('#fire').click(function (e) { 
    var element = document.getElementById('dropdown');


    if(is_visible){is_visible=false; return;}
    is_visible = true;

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

    /* can be added for i.e. compatiblity.
      optionsSelect.focus();
       var WshShell = new ActiveXObject("WScript.Shell");
       WshShell.SendKeys("%{DOWN}");
    */
    e.stopPropagation();
    return false;
});


$(document).click(function(){is_visible=false; });
});

更新:

直到这个问题没有完美的解决方案,但你可以尝试避免这种情况.你为什么要这样做 我想知道几个月前的解决方案,为移动设备制作一个精选插件

https://github.com/HemantNegi/jquery.sumoselect

最后,最后使用透明的select元素屏蔽自定义div(或任何其他元素),以便它可以直接与用户交互.

推荐阅读
携手相约幸福
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有