Javascript jQuery:页面文本不可选择

Javascript jQuery:页面文本不可选择,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有一个jQuery下拉菜单系统,但有一个奇怪的问题,即使用菜单后无法选择文本(例如复制/粘贴) 检查小提琴,并尝试在使用菜单之前选择示例文本。然后将鼠标悬停在菜单项上,将无法再选择文本 我需要在用户打开/关闭菜单后仍然可以选择文本。看一看: HTML结构: <div class="oe_wrapper"> <div id="oe_overlay" class="oe_overlay"></div> <ul id="oe_menu" class="oe_

我有一个jQuery下拉菜单系统,但有一个奇怪的问题,即使用菜单后无法选择文本(例如复制/粘贴)

检查小提琴,并尝试在使用菜单之前选择示例文本。然后将鼠标悬停在菜单项上,将无法再选择文本

我需要在用户打开/关闭菜单后仍然可以选择文本。看一看:

HTML结构:

<div class="oe_wrapper">
<div id="oe_overlay" class="oe_overlay"></div>
<ul id="oe_menu" class="oe_menu">
    <li><a href="">Home</a>

        <div class="hover-div">Content 1</div>
    </li>
    <li><a href="">Projects</a>

        <div class="hover-div">Content 2</div>
    </li>
    <li><a href="">No Hover</a>

        <div class="hover-div not-shown">This should not appear and no other menu divs or the dark overlay should be shown.</div>
    </li>
    <li><a href="">Events</a>

        <div class="hover-div">Content 4</div>
    </li>
    <li><a href="">Stores</a>

        <div class="hover-div">Content 5</div>
    </li>
</ul>
$(function () {
    var $oe_menu = $('#oe_menu');
    var $oe_menu_items = $oe_menu.children('li');
    var $oe_overlay = $('#oe_overlay');

    $oe_menu_items.bind('mouseenter', function () {
        var $this = $(this);
        $this.addClass('slided selected');
        if ($this.children('.hover-div').hasClass('not-shown')) {
            $oe_menu_items.not('.slided').children('.hover-div').hide();
            $this.removeClass('slided');
        } else {
            $this.children('.hover-div').css('z-index', '9999').stop(true, true).slideDown(200, function () {
                $oe_menu_items.not('.slided').children('.hover-div').hide();
                $this.removeClass('slided');
            });
        }

    }).bind('mouseleave', function () {
        var $this = $(this);
        $this.removeClass('selected').children('.hover-div').css('z-index', '1');
    });

    $oe_menu.bind('mouseenter', function () {
        var $this = $(this);
        $oe_overlay.stop(true, true).fadeTo(200, 0.6);
        $this.addClass('hovered');
    }).bind('mouseleave', function () {
        var $this = $(this);
        $this.removeClass('hovered');
        $oe_overlay.stop(true, true).fadeTo(200, 0);
        $oe_menu_items.children('.hover-div').hide();
    })
});

提前感谢你的帮助。再一次,是小提琴。

问题是您的div oe_覆盖开始显示:无(良好),然后在鼠标悬停时淡入,然后在鼠标悬停时淡出,但它没有被设置为显示:再次无,因此它有效地屏蔽了页面上的所有其他输入

您只需在淡出div后将其隐藏:

$oe_overlay.stop(true, true).fadeTo(200, 0, function() {
    $(this).hide();
}); 

这是因为您的
#oe_覆盖图
仍然显示在内容上–您可以通过使用浏览器的开发工具轻松了解内容。是的,我知道问题无法解决;格兰特·吉布森给我看了密码。