2

我有这个下拉菜单(slidedown),select里面有一个元素:

http://jsfiddle.net/XFNhU/1/

Chrome上,您可以显示它,然后从 1-4 中选择(2-4,您单击框隐藏)所以工作 50%。

FF上,如果您显示该框并将鼠标悬停在某个选项上,它会立即消失。

我试过这个:

function display(".drop") {
    document.getElementsByClassName(".drop").style.left = "-5px";
}

function hide(".drop") {
    document.getElementsByClassName(".drop").style.left = "-9999px";
}

……但无济于事。想知道是否有人知道如何解决这个问题?

4

1 回答 1

1

您可以仅为阻止事件传播使 DOM 冒泡的select元素添加一个额外的事件处理程序。

这样,如果光标仍在元素上方,$('header .parent.animated')则不会调用悬停事件的第二个回调函数:select

$('header .parent.animated select').hover(
    function(e){
        e.stopPropagation();
    },
    function(){
        $(this).parents('.drop').hide();
    }
);

见这里:http: //jsfiddle.net/XFNhU/8/

这似乎适用于 Chrome 和 Firefox。

于 2013-08-26T18:07:01.123 回答