在 SharePoint 2007 中,有一个用户可以将鼠标悬停在顶部的导航,它会显示子项的下拉菜单。当他们从下拉列表中移除鼠标时,它会消失,但只是在短暂的延迟之后。这可能会导致问题,就好像人们试图单击页面上某处的链接,但导航菜单尚未隐藏,他们会不小心点击它。再加上最初出现的菜单也被延迟了,所以在他们将鼠标悬停在他们实际想要点击的页面上的链接之前,菜单会突然出现并拦截他们不想要点击的点击的意思。
我在一些可疑区域戳了 core.js,但似乎无法确定。有什么想法吗?
在 SharePoint 2007 中,有一个用户可以将鼠标悬停在顶部的导航,它会显示子项的下拉菜单。当他们从下拉列表中移除鼠标时,它会消失,但只是在短暂的延迟之后。这可能会导致问题,就好像人们试图单击页面上某处的链接,但导航菜单尚未隐藏,他们会不小心点击它。再加上最初出现的菜单也被延迟了,所以在他们将鼠标悬停在他们实际想要点击的页面上的链接之前,菜单会突然出现并拦截他们不想要点击的点击的意思。
我在一些可疑区域戳了 core.js,但似乎无法确定。有什么想法吗?
这是 SharePoint 的正常行为。该控件是 ASP.Net 2.0 的 asp:Menu 控件,您唯一能做的就是自定义站点的 MasterPage 或 DefaultPage。
如果您更改“layouts”文件夹的 core.js 文件,您将失去 Microsoft 支持,因此请注意更改此文件夹中的任何文件。
建议你修改已有的控件或者新建一个,放到MasterPage的这个位置。
这一点 CSS 将修复它。我刚刚在 sharepoint 2010 中遇到了同样的事情,这就是让列表在您滚出后立即消失所需的全部内容:
li.hover-off>ul
{
display:none;
}
它的工作方式是,当您将鼠标悬停在导航中的某个项目上时,它会添加一个名为“悬停”的 CSS 类,一旦您的鼠标离开该区域,它就会将该类更改为“悬停”1 秒钟,然后将其完全移除。此 CSS 将直接隐藏具有“悬停”类的列表项下方的无序列表,从而在鼠标离开父项时立即隐藏弹出窗口。