如何通过'onmouseover'删除选择列表?

时间:2011-04-11 20:06:29

标签: javascript html onmouseover selectlist mouseclick-event

如何使用onmouseover下拉选择列表而不是单击它。 无法在javascript中单击选择列表来模拟该选项。 例如:onmouseover="(this.click())"

在javascript中设置“选择列表的大小”=“其长度”并不能准确模拟点击事件,因为相邻的布局会发生变化。 我尝试使用z-index和position属性但没有帮助。

4 个答案:

答案 0 :(得分:3)

这是一个来自一个古老的破坏帖子的聪明黑客

Select box expand onMouseOver - Dev Shed

这是一个实例:

http://jsfiddle.net/87nyG/1


我个人更喜欢第三方或自定义解决方案而不是攻击<select>元素

答案 1 :(得分:1)

可能有所帮助:https://developer.mozilla.org/en/DOM/event.initMouseEvent

修改。不,它没有:(

答案 2 :(得分:0)

使用原生HTML Select无法做出您要求的内容。您必须搜索第三方选项。

请看这里的可能性:http://jquery.sanchezsalvador.com/page/jquerycombobox.aspx

答案 3 :(得分:0)

刚遇到这个问题。我知道它已经回答了,但如果有人来这里寻找更优雅的解决方案,你可以用jquery做到这一点:

$("#select_id").hover(
    function(){
        $(this).attr('size',13); //My select had months, so 13 was appropriate. obviously you can change this
        $(this).css('position','absolute'); //prevents sibling elements from being pushed down
    },
    function(){
        $(this).attr('size',0); //resets select on mouseout
    }
);

这可以防止“黑客攻击”HTML中的select标记。