内部选择使slidedown div(父)消失

时间:2013-08-26 17:50:56

标签: javascript jquery html css

我有这个下拉列表(滑动),里面有一个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";
}

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

1 个答案:

答案 0 :(得分:1)

您可以为select元素添加一个额外的事件处理程序,stops the event propagation来自冒泡DOM。

这样,如果光标仍在$('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。

相关问题