是否有任何人试图成功地隐藏在blur事件上下文菜单?我想要做的是隐藏在定制的右键菜单中,当鼠标不位于上下文菜单div内。

此使用的jquery上下文菜单插件。

有帮助吗?

解决方案

您提blur事件明确,但我不认为这实际上你需要什么,因为div你提到可能将永远不会被聚焦或模糊的上下文菜单。

您应该使用mouseout事件:

假设你的上下文菜单中具有“contextMenuContainer”的ID,这应该覆盖它:

$('#contextMenuContainer').mouseout(function() {
    $(this).hide();
});

有关更多参阅 jQuery的活动/鼠标移开文档。

<强>更新

我想你链接到插件页面上注册鼠标移出事件处理程序,它是射击就好了。我要指出,它触发每次更改菜单项,虽然时间,所以你需要检查事件的目标,以确保鼠标实际上已经退出了整个菜单。

其他提示

如果您希望在焦点离开容器区域触发一个事件就知道了,但没有在容器内的子控件,使用mouseleave

$('#menu').on('mouseleave', function(){
  $(this).hide();
});

mouseoutblur是不是你在这种情况下所需要的,因为当容器内任意子控件接收鼠标焦点,他们将会触发,导致含有这些隐藏菜单。

使用模糊用回调。 它虽然没有测试。你想恢复对其他模糊的右键功能? 我认为这将在其他类型的事件得到更好的执行。

$("input").blur(function () {
     window.oncontextmenu = function () {
        return false;
     }
});
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top