Вы явно упоминаете событие blur
, но я не думаю, что это действительно то, что вам нужно, поскольку упомянутое вами контекстное меню div
, вероятно, никогда не будет сфокусированным или размытым.
Вы должны использовать событие mouseout:
Предполагая, что ваше контекстное меню имеет идентификатор 'contextMenuContainer', это должно охватывать его:
$('#contextMenuContainer').mouseout(function() {
$(this).hide();
});
Подробнее см. Документацию jQuery Events / mouseout .
Обновление:
Я попытался зарегистрировать обработчик события mouseout на странице плагина, на которую вы ссылались, и он срабатывал очень хорошо. Я должен отметить, что он срабатывает каждый раз, когда вы меняете пункты меню, поэтому вам нужно проверить цель события, чтобы убедиться, что мышь фактически вышла из всего меню.