From 2f388236d1f9969ad5a754b686976211109e055a Mon Sep 17 00:00:00 2001 From: Benjamin Klaus Date: Thu, 22 Aug 2019 10:46:37 +0200 Subject: [PATCH] fixes https://github.com/swisnl/jQuery-contextMenu/issues/693 --- src/jquery.contextMenu.js | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/jquery.contextMenu.js b/src/jquery.contextMenu.js index c4a642e9..5c319322 100644 --- a/src/jquery.contextMenu.js +++ b/src/jquery.contextMenu.js @@ -91,6 +91,7 @@ $currentTrigger = null, // is contextMenu initialized with at least one menu? initialized = false, + justOpenedSub = false, // window handle $win = $(window), // number of registered menus @@ -279,7 +280,7 @@ // contextmenu show dispatcher contextmenu: function (e) { var $this = $(this); - + //Show browser context-menu when preShow returns false if (e.data.events.preShow($this,e) === false) { return; @@ -870,6 +871,10 @@ }, // contextMenu item click itemClick: function (e) { + if (justOpenedSub) { + return; + } + var $this = $(this), data = $this.data(), opt = data.contextMenu, @@ -924,6 +929,13 @@ return; } + if (!$this.hasClass(root.classNames.visible) && $this.find('.context-menu-list').length !== 0) { + justOpenedSub = true; + setTimeout(function () { + justOpenedSub = false; + }, 100); + } + $this .addClass([root.classNames.hover, root.classNames.visible].join(' ')) // select other items and included items