Отменить предыдущий правый клик
имеем след. ф-цию:
function rightContextMenu() {
setTimeout(function() {
$(".file-list").each(function() {
document.oncontextmenu = function() {return false;}; //отключить выпадающее меню
$(this).mousedown(function(e){
if(e.button == 2) { //2 - правый клик, 3 - средний клик
$(this).append('' +
'<ul class="context-menu">' +
'<li><a href="javascript:void(0)" class="edit-file"><i class="fa fa-fw fa-lg fa-pencil"></i> Редактировать файл</a></li>' +
'<li><a href="javascript:void(0)" class="del-file"><i class="fa fa-fw fa-lg fa-trash"></i> Удалить</a></li>' +
'</ul>');
return false;
}
let fileName = $(this['childNodes'][0]).attr('data-file');
$('body').on('click', '.edit-file', function() {
$.ajax({
url: adminpath + '/landing/edit-file',
type: 'POST',
dataType: 'html',
data: {file: fileName},
success: function(data) {
$('.folder-window').fadeIn(500);
$('.editor-file').fadeIn(500);
$('.folder-window-child').fadeOut(500);
$('#editor-file').val(data);
$('#editor-file-name').val(fileName);
},
error: function(xhr, str){
alert('Возникла ошибка: ' + xhr.responseCode);
}
});
});
return true;
});
});
}, 500);
}
Которая правым кликом мыши вызывает контекстное меню в виде html кода. Вызывается при клике на списки с файлами, так вот, если кликнуть правой кнопкой по одному файлу, то все нормально, но если кликнуть потом по второму файлу, то предыдущее контекстное меню висит открытым и вместе с тем открывается новое такое же контекстное меню. Как закрыть предыдущее?