隐藏上下文菜单中的onblur在jQuery中的事件
-
12-09-2019 - |
题
是否有任何人试图成功地隐藏在blur
事件上下文菜单?我想要做的是隐藏在定制的右键菜单中,当鼠标不位于上下文菜单div
内。
此使用的jquery上下文菜单插件。
解决方案
您提blur
事件明确,但我不认为这实际上你需要什么,因为div
你提到可能将永远不会被聚焦或模糊的上下文菜单。
您应该使用mouseout事件:
假设你的上下文菜单中具有“contextMenuContainer”的ID,这应该覆盖它:
$('#contextMenuContainer').mouseout(function() {
$(this).hide();
});
有关更多参阅 jQuery的活动/鼠标移开文档。
<强>更新强>
我想你链接到插件页面上注册鼠标移出事件处理程序,它是射击就好了。我要指出,它触发每次更改菜单项,虽然时间,所以你需要检查事件的目标,以确保鼠标实际上已经退出了整个菜单。
其他提示
如果您希望在焦点离开容器区域触发一个事件就知道了,但没有在容器内的子控件,使用mouseleave
。
$('#menu').on('mouseleave', function(){
$(this).hide();
});
mouseout
或blur
是不是你在这种情况下所需要的,因为当容器内任意子控件接收鼠标焦点,他们将会触发,导致含有这些隐藏菜单。
使用模糊用回调。 它虽然没有测试。你想恢复对其他模糊的右键功能? 我认为这将在其他类型的事件得到更好的执行。
$("input").blur(function () {
window.oncontextmenu = function () {
return false;
}
});
不隶属于 StackOverflow