Javascript mouseenter mouseleave和select

Javascript mouseenter mouseleave和select,javascript,jquery,mouseevent,Javascript,Jquery,Mouseevent,当您浏览“aaaaa”时,将显示覆盖图,当您尝试从中选择某个内容时,覆盖图中的选择将关闭。 我怎样才能做到这一点 仅当实际覆盖区域保留时,覆盖才应关闭 谢谢 看这把小提琴:(在Fx14和Ch 21.0.1180.57上试用过) 我刚刚停止了mouseleave事件的传播,因此它不会到达覆盖层 相关js $(function() { $('#a').mouseenter(function() { $('#overlay').show(); }); $('#o

当您浏览“aaaaa”时,将显示覆盖图,当您尝试从中选择某个内容时,覆盖图中的选择将关闭。 我怎样才能做到这一点

仅当实际覆盖区域保留时,覆盖才应关闭

谢谢

看这把小提琴:(在Fx14和Ch 21.0.1180.57上试用过)

我刚刚停止了
mouseleave
事件的传播,因此它不会到达覆盖层

相关js

$(function() {
    $('#a').mouseenter(function() {
        $('#overlay').show();
    });
    $('#overlay').mouseleave(function() {
        $(this).hide();
    });
    $('#overlay select').mouseleave(function(ev) {
        ev.stopPropagation()
    });
});

这是一个很大的进步,也许是我们能做的最好的了。但是,在覆盖仅足以容纳其包含的元素的正常情况下,如果用户在鼠标位于覆盖外部时单击选择选项,则覆盖将保持打开状态。它不会关闭,直到用户再次将鼠标移回并移出它,因为鼠标已经离开了它。通过从.overlay中删除高度规格,可以在小提琴中看到这一点。我没有更好的解决办法。如果有人这样做,请大声说出来,这对我来说是一个长期存在的问题。